From a9456a813af95b69f90d6db5028f6be45058dec8 Mon Sep 17 00:00:00 2001 From: Holger Levsen Date: Sat, 1 Nov 2014 00:39:18 +0100 Subject: replace 1108 lines yaml (for 103 jobs) with 290 lines of python, one third of those being the actuall configuration for 206 jobs now --- job-cfg/chroot-installation.yaml | 1108 ----------------------------------- job-cfg/chroot-installation.yaml.py | 290 +++++++++ 2 files changed, 290 insertions(+), 1108 deletions(-) delete mode 100644 job-cfg/chroot-installation.yaml create mode 100755 job-cfg/chroot-installation.yaml.py diff --git a/job-cfg/chroot-installation.yaml b/job-cfg/chroot-installation.yaml deleted file mode 100644 index ba4c5c48..00000000 --- a/job-cfg/chroot-installation.yaml +++ /dev/null @@ -1,1108 +0,0 @@ -- defaults: - name: chroot-installation - description: '{my_description}{do_not_edit}' - logrotate: - daysToKeep: 90 - numToKeep: 30 - artifactDaysToKeep: -1 - artifactNumToKeep: -1 - builders: - - shell: '/srv/jenkins/bin/chroot-installation.sh {installation_params}' - publishers: - - logparser: - parse-rules: '/srv/jenkins/logparse/debian.rules' - unstable-on-warning: 'false' - fail-on-error: 'false' - - email-ext: - recipients: '{my_recipients}' - first-failure: true - fixed: true - subject: 'Jenkins: $BUILD_STATUS for $JOB_NAME/$BUILD_NUMBER' - attach-build-log: true - body: 'See $BUILD_URL and ${BUILD_URL}console' - properties: - - sidebar: - url: https://jenkins.debian.net/userContent/about.html - text: About jenkins.debian.net - icon: /userContent/images/debian-swirl-24x24.png - - sidebar: - url: https://jenkins.debian.net/view/chroot-installation/ - text: All chroot-installation jobs - icon: /userContent/images/debian-jenkins-24x24.png - - sidebar: - url: http://www.profitbricks.com - text: Sponsored by Profitbricks - icon: /userContent/images/profitbricks-24x24.png - - priority: - job-prio: '130' - - throttle: - max-total: 6 - max-per-node: 6 - enabled: True - option: category - categories: - - chroot-installation - -- defaults: - name: chroot-installation+trigger - description: '{my_description}{do_not_edit}' - logrotate: - daysToKeep: 90 - numToKeep: 30 - artifactDaysToKeep: -1 - artifactNumToKeep: -1 - builders: - - shell: '/srv/jenkins/bin/chroot-installation.sh {installation_params}' - publishers: - - logparser: - parse-rules: '/srv/jenkins/logparse/debian.rules' - unstable-on-warning: 'false' - fail-on-error: 'false' - - trigger: - project: '{my_trigger}' - - email: - recipients: '{my_recipients}' - properties: - - sidebar: - url: https://jenkins.debian.net/userContent/about.html - text: About jenkins.debian.net - icon: /userContent/images/debian-swirl-24x24.png - - sidebar: - url: https://jenkins.debian.net/view/chroot-installation/ - text: All chroot-installation jobs - icon: /userContent/images/debian-jenkins-24x24.png - - sidebar: - url: http://www.profitbricks.com - text: Sponsored by Profitbricks - icon: /userContent/images/profitbricks-24x24.png - - priority: - job-prio: '131' - - throttle: - max-total: 6 - max-per-node: 6 - enabled: True - option: category - categories: - - chroot-installation - -- defaults: - name: chroot-housekeeping - description: '{my_description}{do_not_edit}' - logrotate: - daysToKeep: 90 - numToKeep: 30 - artifactDaysToKeep: -1 - artifactNumToKeep: -1 - triggers: - - timed: '{my_time}' - builders: - - shell: '/srv/jenkins/bin/housekeeping.sh {my_prefix}' - publishers: - - logparser: - parse-rules: '/srv/jenkins/logparse/debian.rules' - unstable-on-warning: 'true' - fail-on-error: 'true' - - trigger: - project: '{my_trigger}' - threshold: 'UNSTABLE' - - email: - recipients: jenkins+debian-qa holger@layer-acht.org - properties: - - sidebar: - url: https://jenkins.debian.net/userContent/about.html - text: About jenkins.debian.net - icon: /userContent/images/debian-swirl-24x24.png - - sidebar: - url: https://jenkins.debian.net/view/chroot-installation/ - text: All chroot-installation jobs - icon: /userContent/images/debian-jenkins-24x24.png - - sidebar: - url: http://www.profitbricks.com - text: Sponsored by Profitbricks - icon: /userContent/images/profitbricks-24x24.png - - priority: - job-prio: '135' - - throttle: - max-total: 6 - max-per-node: 6 - enabled: True - option: category - categories: - - chroot-installation - -- job-template: - defaults: chroot-housekeeping - name: '{name}_housekeeping_sid' - -- job-template: - defaults: chroot-housekeeping - name: '{name}_housekeeping_squeeze' - -- job-template: - defaults: chroot-housekeeping - name: '{name}_housekeeping_wheezy' - -- job-template: - defaults: chroot-housekeeping - name: '{name}_housekeeping_jessie' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_gnome' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_kde' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_kde-full' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_lxde' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_xfce' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_full_desktop' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_haskell' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_developer' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-tasks' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-menus' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-astronomy' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-chemistry' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-common' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-desktop-gnome' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-desktop-kde' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-desktop-lxde' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-desktop-mate' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-desktop-other' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-desktop-sugar' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-desktop-xfce' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-development' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-electronics' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-geography' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-graphics' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-language' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-laptop' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-logic-games' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-main-server' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-mathematics' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-misc' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-music' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-networked' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-physics' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-services' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-standalone' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-thin-client' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-thin-client-server' - -- job-template: - defaults: chroot-installation - name: '{name}_sid_install_education-workstation' - -- job-template: - defaults: chroot-installation+trigger - name: '{name}_sid_bootstrap' - -- job-template: - defaults: chroot-installation - name: '{name}_squeeze_install_gnome_upgrade_to_wheezy' - -- job-template: - defaults: chroot-installation - name: '{name}_squeeze_install_kde_upgrade_to_wheezy' - -- job-template: - defaults: chroot-installation - name: '{name}_squeeze_install_kde-full_upgrade_to_wheezy' - -- job-template: - defaults: chroot-installation - name: '{name}_squeeze_install_lxde_upgrade_to_wheezy' - -- job-template: - defaults: chroot-installation - name: '{name}_squeeze_install_xfce_upgrade_to_wheezy' - -- job-template: - defaults: chroot-installation - name: '{name}_squeeze_install_full_desktop_upgrade_to_wheezy' - -- job-template: - defaults: chroot-installation - name: '{name}_squeeze_install_developer_upgrade_to_wheezy' - -- job-template: - defaults: chroot-installation+trigger - name: '{name}_squeeze_bootstrap_upgrade_to_wheezy' - -- job-template: - defaults: chroot-installation - name: '{name}_wheezy_install_gnome' - -- job-template: - defaults: chroot-installation - name: '{name}_wheezy_install_kde' - -- job-template: - defaults: chroot-installation - name: '{name}_wheezy_install_kde-full' - -- job-template: - defaults: chroot-installation - name: '{name}_wheezy_install_lxde' - -- job-template: - defaults: chroot-installation - name: '{name}_wheezy_install_xfce' - -- job-template: - defaults: chroot-installation - name: '{name}_wheezy_install_full_desktop' - -- job-template: - defaults: chroot-installation - name: '{name}_wheezy_install_developer' - -- job-template: - defaults: chroot-installation+trigger - name: '{name}_wheezy_bootstrap' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_gnome' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_kde' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_kde-full' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_lxde' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_xfce' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_full_desktop' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_haskell' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_developer' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-tasks' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-menus' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-astronomy' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-chemistry' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-common' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-desktop-gnome' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-desktop-kde' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-desktop-lxde' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-desktop-mate' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-desktop-other' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-desktop-sugar' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-desktop-xfce' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-development' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-electronics' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-geography' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-graphics' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-language' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-laptop' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-logic-games' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-main-server' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-mathematics' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-misc' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-music' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-networked' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-physics' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-services' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-standalone' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-thin-client' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-thin-client-server' - -- job-template: - defaults: chroot-installation - name: '{name}_jessie_install_education-workstation' - -- job-template: - defaults: chroot-installation+trigger - name: '{name}_jessie_bootstrap' - -- job-template: - defaults: chroot-installation - name: '{name}_wheezy_install_gnome_upgrade_to_jessie' - -- job-template: - defaults: chroot-installation - name: '{name}_wheezy_install_kde_upgrade_to_jessie' - -- job-template: - defaults: chroot-installation - name: '{name}_wheezy_install_kde-full_upgrade_to_jessie' - -- job-template: - defaults: chroot-installation - name: '{name}_wheezy_install_lxde_upgrade_to_jessie' - -- job-template: - defaults: chroot-installation - name: '{name}_wheezy_install_xfce_upgrade_to_jessie' - -- job-template: - defaults: chroot-installation - name: '{name}_wheezy_install_full_desktop_upgrade_to_jessie' - -- job-template: - defaults: chroot-installation - name: '{name}_wheezy_install_haskell_upgrade_to_jessie' - -- job-template: - defaults: chroot-installation - name: '{name}_wheezy_install_developer_upgrade_to_jessie' - -- job-template: - defaults: chroot-installation+trigger - name: '{name}_wheezy_bootstrap_upgrade_to_jessie' - -- project: - name: chroot-installation - do_not_edit: '

Job configuration source is chroot-installation.yaml.' - jobs: - - '{name}_sid_install_gnome': - installation_params: 'sid gnome' - my_description: 'Debootstrap sid, then install GNOME.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_sid_install_kde': - installation_params: 'sid kde' - my_description: 'Debootstrap sid, then install KDE plasma desktop.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_sid_install_kde-full': - installation_params: 'sid kde-full' - my_description: 'Debootstrap sid, then install complete KDE desktop.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_sid_install_lxde': - installation_params: 'sid lxde' - my_description: 'Debootstrap sid, then install LXDE.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_sid_install_xfce': - installation_params: 'sid xfce' - my_description: 'Debootstrap sid, then install Xfce.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_sid_install_full_desktop': - installation_params: 'sid full_desktop' - my_description: 'Debootstrap sid, then install four desktop environments and the most commonly used applications and packages.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_sid_install_haskell': - installation_params: 'sid haskell' - my_description: 'Debootstrap sid, then install all Haskell related packages.' - my_recipients: 'jenkins+debian-haskell holger@layer-acht.org pkg-haskell-maintainers@lists.alioth.debian.org' - - - '{name}_sid_install_developer': - installation_params: 'sid developer' - my_description: 'Debootstrap sid, then install four desktop environments and the most commonly used applications and packages - and the build depends for all of these.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_sid_install_education-tasks': - installation_params: 'sid education-tasks' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-tasks.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-menus': - installation_params: 'sid education-menus' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-menus.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-astronomy': - installation_params: 'sid education-astronomy' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-astronomy.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-chemistry': - installation_params: 'sid education-chemistry' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-chemistry.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-common': - installation_params: 'sid education-common' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-common.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-desktop-gnome': - installation_params: 'sid education-desktop-gnome' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-desktop-gnome.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-desktop-kde': - installation_params: 'sid education-desktop-kde' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-desktop-kde.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-desktop-lxde': - installation_params: 'sid education-desktop-lxde' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-desktop-lxde.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-desktop-mate': - installation_params: 'sid education-desktop-mate' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-desktop-mate.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-desktop-other': - installation_params: 'sid education-desktop-other' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-desktop-other.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-desktop-sugar': - installation_params: 'sid education-desktop-sugar' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-desktop-sugar.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-desktop-xfce': - installation_params: 'sid education-desktop-xfce' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-desktop-xfce.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-development': - installation_params: 'sid education-development' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-development.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-electronics': - installation_params: 'sid education-electronics' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-electronics.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-geography': - installation_params: 'sid education-geography' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-geography.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-graphics': - installation_params: 'sid education-graphics' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-graphics.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-language': - installation_params: 'sid education-language' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-language.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-laptop': - installation_params: 'sid education-laptop' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-laptop.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-logic-games': - installation_params: 'sid education-logic-games' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-logic-games.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-main-server': - installation_params: 'sid education-main-server' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-main-server.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-mathematics': - installation_params: 'sid education-mathematics' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-mathematics.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-misc': - installation_params: 'sid education-misc' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-misc.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-music': - installation_params: 'sid education-music' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-music.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-networked': - installation_params: 'sid education-networked' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-networked.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-physics': - installation_params: 'sid education-physics' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-physics.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-services': - installation_params: 'sid education-services' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-services.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-standalone': - installation_params: 'sid education-standalone' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-standalone.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-thin-client': - installation_params: 'sid education-thin-client' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-thin-client.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-thin-client-server': - installation_params: 'sid education-thin-client-server' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-thin-client-server.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_install_education-workstation': - installation_params: 'sid education-workstation' - my_description: 'Debootstrap sid, then install the Debian Edu metapackage education-workstation.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_sid_bootstrap': - installation_params: 'sid' - my_description: 'Debootstrap sid.' - my_trigger: 'chroot-installation_sid_install_gnome, chroot-installation_sid_install_kde, chroot-installation_sid_install_kde-full, chroot-installation_sid_install_lxde, chroot-installation_sid_install_xfce, chroot-installation_sid_install_full_desktop, chroot-installation_sid_install_developer, chroot-installation_sid_install_haskell, chroot-installation_sid_install_education-tasks, chroot-installation_sid_install_education-menus, chroot-installation_sid_install_education-astronomy, chroot-installation_sid_install_education-chemistry, chroot-installation_sid_install_education-common, chroot-installation_sid_install_education-desktop-gnome, chroot-installation_sid_install_education-desktop-kde, chroot-installation_sid_install_education-desktop-lxde, chroot-installation_sid_install_education-desktop-mate, chroot-installation_sid_install_education-desktop-other, chroot-installation_sid_install_education-desktop-sugar, chroot-installation_sid_install_education-desktop-xfce, chroot-installation_sid_install_education-development, chroot-installation_sid_install_education-electronics, chroot-installation_sid_install_education-geography, chroot-installation_sid_install_education-graphics, chroot-installation_sid_install_education-language, chroot-installation_sid_install_education-laptop, chroot-installation_sid_install_education-logic-games, chroot-installation_sid_install_education-main-server, chroot-installation_sid_install_education-mathematics, chroot-installation_sid_install_education-misc, chroot-installation_sid_install_education-music, chroot-installation_sid_install_education-networked, chroot-installation_sid_install_education-physics, chroot-installation_sid_install_education-services, chroot-installation_sid_install_education-standalone, chroot-installation_sid_install_education-thin-client, chroot-installation_sid_install_education-thin-client-server, chroot-installation_sid_install_education-workstation' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_squeeze_install_gnome_upgrade_to_wheezy': - installation_params: 'squeeze gnome wheezy' - my_description: 'Debootstrap squeeze, install GNOME, then upgrade to wheezy.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_squeeze_install_kde_upgrade_to_wheezy': - installation_params: 'squeeze kde wheezy' - my_description: 'Debootstrap squeeze, install KDE plasma desktop, then upgrade to wheezy.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_squeeze_install_kde-full_upgrade_to_wheezy': - installation_params: 'squeeze kde-full wheezy' - my_description: 'Debootstrap squeeze, install complete KDE desktop, then upgrade to wheezy.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_squeeze_install_lxde_upgrade_to_wheezy': - installation_params: 'squeeze lxde wheezy' - my_description: 'Debootstrap squeeze, install LXDE then upgrade to wheezy.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_squeeze_install_xfce_upgrade_to_wheezy': - installation_params: 'squeeze xfce wheezy' - my_description: 'Debootstrap squeeze, install KFCE then upgrade to wheezy.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_squeeze_install_full_desktop_upgrade_to_wheezy': - installation_params: 'squeeze full_desktop wheezy' - my_description: 'Debootstrap squeeze, then install four desktop environments and the most commonly used applications and packages, then upgrade to wheezy.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_squeeze_install_developer_upgrade_to_wheezy': - installation_params: 'squeeze developer wheezy' - my_description: 'Debootstrap squeeze, then install four desktop environments and the most commonly used applications and packages - and the build depends for all of these, then upgrade to wheezy.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_squeeze_bootstrap_upgrade_to_wheezy': - installation_params: 'squeeze none wheezy' - my_description: 'Debootstrap squeeze, then upgrade to wheezy.' - my_trigger: 'chroot-installation_squeeze_install_gnome_upgrade_to_wheezy, chroot-installation_squeeze_install_kde_upgrade_to_wheezy, chroot-installation_squeeze_install_kde-full_upgrade_to_wheezy, chroot-installation_squeeze_install_lxde_upgrade_to_wheezy, chroot-installation_squeeze_install_xfce_upgrade_to_wheezy, chroot-installation_squeeze_install_full_desktop_upgrade_to_wheezy, chroot-installation_squeeze_install_developer_upgrade_to_wheezy' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_wheezy_install_gnome': - installation_params: 'wheezy gnome' - my_description: 'Debootstrap wheezy, then install GNOME.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_wheezy_install_kde': - installation_params: 'wheezy kde' - my_description: 'Debootstrap wheezy, then install KDE plasma desktop.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_wheezy_install_kde-full': - installation_params: 'wheezy kde-full' - my_description: 'Debootstrap wheezy, then install complete KDE desktop.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_wheezy_install_xfce': - installation_params: 'wheezy xfce' - my_description: 'Debootstrap wheezy, then install Xfce.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_wheezy_install_lxde': - installation_params: 'wheezy lxde' - my_description: 'Debootstrap wheezy, then install LXDE.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_wheezy_install_full_desktop': - installation_params: 'wheezy full_desktop' - my_description: 'Debootstrap wheezy, then install four desktop environments and the most commonly used applications and packages.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_wheezy_install_developer': - installation_params: 'wheezy developer' - my_description: 'Debootstrap wheezy, then install four desktop environments and the most commonly used applications and packages - and the build depends for all of these.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_wheezy_bootstrap': - installation_params: 'wheezy' - my_description: 'Debootstrap wheezy.' - my_trigger: 'chroot-installation_wheezy_install_gnome, chroot-installation_wheezy_install_kde, chroot-installation_wheezy_install_kde-full, chroot-installation_wheezy_install_lxde, chroot-installation_wheezy_install_xfce, chroot-installation_wheezy_install_full_desktop, chroot-installation_wheezy_install_developer' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_jessie_install_gnome': - installation_params: 'jessie gnome' - my_description: 'Debootstrap jessie, then install GNOME.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_jessie_install_kde': - installation_params: 'jessie kde' - my_description: 'Debootstrap jessie, then install KDE plasma desktop.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_jessie_install_kde-full': - installation_params: 'jessie kde-full' - my_description: 'Debootstrap jessie, then install complete KDE desktop.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_jessie_install_xfce': - installation_params: 'jessie xfce' - my_description: 'Debootstrap jessie, then install Xfce.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_jessie_install_lxde': - installation_params: 'jessie lxde' - my_description: 'Debootstrap jessie, then install LXDE.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_jessie_install_full_desktop': - installation_params: 'jessie full_desktop' - my_description: 'Debootstrap jessie, then install four desktop environments and the most commonly used applications and packages.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_jessie_install_haskell': - installation_params: 'jessie haskell' - my_description: 'Debootstrap jessie, then install all Haskell related packages.' - my_recipients: 'jenkins+debian-haskell holger@layer-acht.org pkg-haskell-maintainers@lists.alioth.debian.org' - - - '{name}_jessie_install_developer': - installation_params: 'jessie developer' - my_description: 'Debootstrap jessie, then install four desktop environments and the most commonly used applications and packages - and the build depends for all of these.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_jessie_install_education-tasks': - installation_params: 'jessie education-tasks' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-tasks.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-menus': - installation_params: 'jessie education-menus' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-menus.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-astronomy': - installation_params: 'jessie education-astronomy' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-astronomy.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-chemistry': - installation_params: 'jessie education-chemistry' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-chemistry.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-common': - installation_params: 'jessie education-common' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-common.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-desktop-gnome': - installation_params: 'jessie education-desktop-gnome' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-desktop-gnome.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-desktop-kde': - installation_params: 'jessie education-desktop-kde' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-desktop-kde.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-desktop-lxde': - installation_params: 'jessie education-desktop-lxde' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-desktop-lxde.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-desktop-mate': - installation_params: 'jessie education-desktop-mate' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-desktop-mate.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-desktop-other': - installation_params: 'jessie education-desktop-other' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-desktop-other.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-desktop-sugar': - installation_params: 'jessie education-desktop-sugar' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-desktop-sugar.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-desktop-xfce': - installation_params: 'jessie education-desktop-xfce' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-desktop-xfce.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-development': - installation_params: 'jessie education-development' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-development.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-electronics': - installation_params: 'jessie education-electronics' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-electronics.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-geography': - installation_params: 'jessie education-geography' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-geography.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-graphics': - installation_params: 'jessie education-graphics' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-graphics.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-language': - installation_params: 'jessie education-language' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-language.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-laptop': - installation_params: 'jessie education-laptop' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-laptop.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-logic-games': - installation_params: 'jessie education-logic-games' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-logic-games.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-main-server': - installation_params: 'jessie education-main-server' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-main-server.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-mathematics': - installation_params: 'jessie education-mathematics' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-mathematics.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-misc': - installation_params: 'jessie education-misc' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-misc.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-music': - installation_params: 'jessie education-music' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-music.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-networked': - installation_params: 'jessie education-networked' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-networked.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-physics': - installation_params: 'jessie education-physics' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-physics.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-services': - installation_params: 'jessie education-services' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-services.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-standalone': - installation_params: 'jessie education-standalone' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-standalone.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-thin-client': - installation_params: 'jessie education-thin-client' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-thin-client.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-thin-client-server': - installation_params: 'jessie education-thin-client-server' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-thin-client-server.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_install_education-workstation': - installation_params: 'jessie education-workstation' - my_description: 'Debootstrap jessie, then install the Debian Edu metapackage education-workstation.' - my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' - - - '{name}_jessie_bootstrap': - installation_params: 'jessie' - my_description: 'Debootstrap jessie.' - my_trigger: 'chroot-installation_jessie_install_gnome, chroot-installation_jessie_install_kde, chroot-installation_jessie_install_kde-full, chroot-installation_jessie_install_lxde, chroot-installation_jessie_install_xfce, chroot-installation_jessie_install_full_desktop, chroot-installation_jessie_install_developer, chroot-installation_jessie_install_haskell, chroot-installation_jessie_install_education-tasks, chroot-installation_jessie_install_education-menus, chroot-installation_jessie_install_education-astronomy, chroot-installation_jessie_install_education-chemistry, chroot-installation_jessie_install_education-common, chroot-installation_jessie_install_education-desktop-gnome, chroot-installation_jessie_install_education-desktop-kde, chroot-installation_jessie_install_education-desktop-lxde, chroot-installation_jessie_install_education-desktop-mate, chroot-installation_jessie_install_education-desktop-other, chroot-installation_jessie_install_education-desktop-sugar, chroot-installation_jessie_install_education-desktop-xfce, chroot-installation_jessie_install_education-development, chroot-installation_jessie_install_education-electronics, chroot-installation_jessie_install_education-geography, chroot-installation_jessie_install_education-graphics, chroot-installation_jessie_install_education-language, chroot-installation_jessie_install_education-laptop, chroot-installation_jessie_install_education-logic-games, chroot-installation_jessie_install_education-main-server, chroot-installation_jessie_install_education-mathematics, chroot-installation_jessie_install_education-misc, chroot-installation_jessie_install_education-music, chroot-installation_jessie_install_education-networked, chroot-installation_jessie_install_education-physics, chroot-installation_jessie_install_education-services, chroot-installation_jessie_install_education-standalone, chroot-installation_jessie_install_education-thin-client, chroot-installation_jessie_install_education-thin-client-server, chroot-installation_jessie_install_education-workstation' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_wheezy_install_gnome_upgrade_to_jessie': - installation_params: 'wheezy gnome jessie' - my_description: 'Debootstrap wheezy, install GNOME, then upgrade to jessie.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_wheezy_install_kde_upgrade_to_jessie': - installation_params: 'wheezy kde jessie' - my_description: 'Debootstrap wheezy, install KDE plasma desktop, then upgrade to jessie.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_wheezy_install_kde-full_upgrade_to_jessie': - installation_params: 'wheezy kde-full jessie' - my_description: 'Debootstrap wheezy, install complete KDE desktop, then upgrade to jessie.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_wheezy_install_lxde_upgrade_to_jessie': - installation_params: 'wheezy lxde jessie' - my_description: 'Debootstrap wheezy, install LXDE then upgrade to jessie.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_wheezy_install_xfce_upgrade_to_jessie': - installation_params: 'wheezy xfce jessie' - my_description: 'Debootstrap wheezy, install KFCE then upgrade to jessie.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_wheezy_install_full_desktop_upgrade_to_jessie': - installation_params: 'wheezy full_desktop jessie' - my_description: 'Debootstrap wheezy, then install four desktop environments and the most commonly used applications and packages, then upgrade to jessie.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_wheezy_install_haskell_upgrade_to_jessie': - installation_params: 'wheezy haskell jessie' - my_description: 'Debootstrap wheezy, then install all Haskell related packages, then upgrade to jessie.' - my_recipients: 'jenkins+debian-haskell holger@layer-acht.org pkg-haskell-maintainers@lists.alioth.debian.org' - - - '{name}_wheezy_install_developer_upgrade_to_jessie': - installation_params: 'wheezy developer jessie' - my_description: 'Debootstrap wheezy, then install four desktop environments and the most commonly used applications and packages - and the build depends for all of these, then upgrade to jessie.' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_wheezy_bootstrap_upgrade_to_jessie': - installation_params: 'wheezy none jessie' - my_description: 'Debootstrap wheezy, then upgrade to jessie.' - my_trigger: 'chroot-installation_wheezy_install_gnome_upgrade_to_jessie, chroot-installation_wheezy_install_kde_upgrade_to_jessie, chroot-installation_wheezy_install_kde-full_upgrade_to_jessie, chroot-installation_wheezy_install_lxde_upgrade_to_jessie, chroot-installation_wheezy_install_xfce_upgrade_to_jessie, chroot-installation_wheezy_install_full_desktop_upgrade_to_jessie, chroot-installation_wheezy_install_developer_upgrade_to_jessie, chroot-installation_wheezy_install_haskell_upgrade_to_jessie' - my_recipients: 'jenkins+debian-qa holger@layer-acht.org' - - - '{name}_housekeeping_squeeze': - my_description: 'Cleanup and monitor so that there is a predictable environment.' - my_trigger: 'chroot-installation_squeeze_bootstrap, chroot-installation_squeeze_bootstrap_upgrade_to_wheezy' - my_time: '30 16 25 * *' - my_prefix: '{name}_housekeeping_squeeze' - - - '{name}_housekeeping_wheezy': - my_description: 'Cleanup and monitor so that there is a predictable environment.' - my_trigger: 'chroot-installation_wheezy_bootstrap' - my_time: '30 16 4,18 * *' - my_prefix: '{name}_housekeeping_wheezy' - - - '{name}_housekeeping_jessie': - my_description: 'Cleanup and monitor so that there is a predictable environment.' - my_trigger: 'chroot-installation_jessie_bootstrap, chroot-installation_wheezy_bootstrap_upgrade_to_jessie' - my_time: '30 10 * * *' - my_prefix: '{name}_housekeeping_jessie' - - - '{name}_housekeeping_sid': - my_description: 'Cleanup and monitor so that there is a predictable environment.' - my_trigger: 'chroot-installation_sid_bootstrap' - my_time: '30 4 * * *' - my_prefix: '{name}_housekeeping_sid' - diff --git a/job-cfg/chroot-installation.yaml.py b/job-cfg/chroot-installation.yaml.py new file mode 100755 index 00000000..c21c88c9 --- /dev/null +++ b/job-cfg/chroot-installation.yaml.py @@ -0,0 +1,290 @@ +#!/usr/bin/python + +base_distros = """ + squeeze + wheezy + jessie + sid + """.split() + +distro_upgrades = {} +distro_upgrades = { 'squeeze': 'wheezy', + 'wheezy': 'jessie', + 'jessie': 'sid' } + +oldstable = 'squeeze' + +trigger_times = {} +# ftp.de.debian.org runs mirror updates at 03:25, 09:25, 15:25 and 21:25 UTC and usually they run 10m... +trigger_times = { 'squeeze': '30 16 25 * *', + 'wheezy': '30 16 4,18 * *', + 'jessie': '30 10 * * *', + 'sid': '30 4 * * *' } + +targets = """ + housekeeping + bootstrap + gnome + kde + kde-full + lxde + xfce + full_desktop + haskell + developer + education-tasks + education-menus + education-astronomy + education-chemistry + education-common + education-desktop-gnome + education-desktop-kde + education-desktop-lxde + education-desktop-mate + education-desktop-other + education-desktop-sugar + education-desktop-xfce + education-development + education-electronics + education-geography + education-graphics + education-language + education-laptop + education-logic-games + education-main-server + education-mathematics + education-misc + education-music + education-networked + education-physics + education-services + education-standalone + education-thin-client + education-thin-client-server + education-workstation + """.split() + +# +# not all packages are available in all distros +# +def get_targets_in_distro(distro, targets): + targets_in_distro = [] + for target in targets: + # haskell and edu tests not in squeeze + if distro == 'squeeze' and ( target == 'haskell' or target[:10] == 'education-'): + continue + # education-desktop-mate wasn't in wheezy + if distro == 'wheezy' and target == 'education-desktop-mate': + continue + targets_in_distro.append(target) + return targets_in_distro + +# +# who gets mail for which target +# +def get_recipients(target): + if target == 'housekeeping': + return 'holger@layer-acht.org' # FIXME: this should be jenkins-maintainers@lists.somewhere + elif target == 'haskell': + return 'jenkins+debian-haskell holger@layer-acht.org pkg-haskell-maintainers@lists.alioth.debian.org' + elif target[:10] == 'education-': + return 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org' + else: + return 'jenkins+debian-qa holger@layer-acht.org' + +# +# views for different targets +# +def get_view(target, distro): + if target == 'housekeeping': + return 'jenkins.d.n' + elif target == 'haskell': + return 'haskell' + elif target[:10] == 'education-': + if distro in ('squeeze', 'wheezy'): + return 'edu_stable' + else: + return 'edu_devel' + else: + return 'chroot-installation' + +# +# special descriptions used for some targets +# +spoken_names = {} +spoken_names = { 'gnome': 'GNOME', + 'kde': 'KDE plasma desktop', + 'kde-full': 'complete KDE desktop', + 'lxde': 'LXDE', + 'xfce': 'Xfce', + 'full_desktop': 'four desktop environments and the most commonly used applications and packages', + 'haskell': 'all Haskell related packages', + 'developer': 'four desktop environments and the most commonly used applications and packages - and the build depends for all of these' } +def get_spoken_name(target): + if target[:10] == 'education-': + return 'the Debian Edu metapackage '+target + elif target in spoken_names: + return spoken_names[target] + else: + return target + +# +# nothing to edit below +# + +print(""" +- defaults: + name: chroot-installation + description: '{my_description}{do_not_edit}' + logrotate: + daysToKeep: 90 + numToKeep: 30 + artifactDaysToKeep: -1 + artifactNumToKeep: -1 + triggers: + - timed: '{my_time}' + builders: + - shell: '{my_shell}' + publishers: + - trigger: + project: '{my_trigger}' + - logparser: + parse-rules: '/srv/jenkins/logparse/debian.rules' + unstable-on-warning: 'false' + fail-on-error: 'false' + - email-ext: + recipients: '{my_recipients}' + first-failure: true + fixed: true + subject: 'Jenkins: $BUILD_STATUS for $JOB_NAME/$BUILD_NUMBER' + attach-build-log: true + body: 'See $BUILD_URL and ${BUILD_URL}console' + properties: + - sidebar: + url: https://jenkins.debian.net/userContent/about.html + text: About jenkins.debian.net + icon: /userContent/images/debian-swirl-24x24.png + - sidebar: + url: https://jenkins.debian.net/view/{my_view}/ + text: All {my_view} jobs + icon: /userContent/images/debian-jenkins-24x24.png + - sidebar: + url: http://www.profitbricks.com + text: Sponsored by Profitbricks + icon: /userContent/images/profitbricks-24x24.png + - priority: + job-prio: '{my_prio}' + - throttle: + max-total: 6 + max-per-node: 6 + enabled: True + option: category + categories: + - chroot-installation + +""") +for base_distro in sorted(base_distros): + for target in sorted(get_targets_in_distro(base_distro, targets)): + if target in ('bootstrap', 'housekeeping'): + action = target + else: + action = 'install_'+target + if base_distro != oldstable: + print("""- job-template: + defaults: chroot-installation + name: '{name}_%(base_distro)s_%(action)s'""" % + dict(base_distro=base_distro, + action=action)) + if base_distro in distro_upgrades and action != 'housekeeping': + print("""- job-template: + defaults: chroot-installation + name: '{name}_%(base_distro)s_%(action)s_upgrade_to_%(second_base)s'""" % + dict(base_distro=base_distro, + action=action, + second_base=distro_upgrades[base_distro])) + +print(""" +- project: + name: chroot-installation + do_not_edit: '

Job configuration source is chroot-installation.yaml.py.' + jobs:""") +for base_distro in sorted(base_distros): + for target in sorted(get_targets_in_distro(base_distro, targets)): + if target == 'housekeeping': + description = 'Housekeeping job for chroot-installation_'+base_distro+'_* jobs, do some cleanups and monitoring so that there is a predictable environment.' + shell = '/srv/jenkins/bin/housekeeping.sh chroot-installation_'+base_distro + prio = 135 + trigger_times[base_distro] + trigger = 'chroot-installation_bootstrap'+base_distro + elif target == 'bootstrap': + description = 'Debootstrap '+base_distro+'.' + shell = '/srv/jenkins/bin/chroot-installation.sh '+base_distro + prio = 131 + time = '' + if base_distro in distro_upgrades: + trigger = 'chroot-installation_bootstrap_'+base_distro+'_upgrade_to_'+distro_upgrades[base_distro] + else: + trigger = '' + for trigger_target in get_targets_in_distro(base_distro, targets): + if trigger != '': + trigger = trigger+', ' + trigger = trigger+'chroot-installation_'+base_distro+'_install_'+trigger_target + else: + description = 'Debootstrap '+base_distro+', then install '+get_spoken_name(target)+'.' + shell = '/srv/jenkins/bin/chroot-installation.sh '+base_distro+' '+target + prio = 130 + time = '' + trigger = '' + if target in ('bootstrap', 'housekeeping'): + action = target + else: + action = 'install_'+target + if base_distro != oldstable: + print(""" - '{name}_%(base_distro)s_%(action)s': + my_shell: '%(shell)s' + my_prio: '%(prio)s' + my_time: '%(time)s' + my_trigger: '%(trigger)s' + my_recipients: '%(recipients)s' + my_view: '%(view)s' + my_description: '%(description)s'""" % + dict(base_distro=base_distro, + action=action, + shell=shell, + prio=prio, + time=time, + trigger=trigger, + recipients=get_recipients(target), + view=get_view(target, base_distro), + description=description)) + if base_distro in distro_upgrades and action != 'housekeeping': + if target == 'bootstrap': + shell = '/srv/jenkins/bin/chroot-installation.sh '+base_distro+' none '+distro_upgrades[base_distro] + description = 'Debootstrap '+base_distro+', then upgrade to '+distro_upgrades[base_distro]+'.' + trigger = '' + for trigger_target in get_targets_in_distro(base_distro, targets): + if trigger != '': + trigger = trigger+', ' + trigger = trigger+'chroot-installation_'+base_distro+'_install_'+trigger_target+'_upgrade_to_'+distro_upgrades[base_distro] + else: + shell = '/srv/jenkins/bin/chroot-installation.sh '+base_distro+' '+target+' '+distro_upgrades[base_distro] + description = 'Debootstrap '+base_distro+', then install '+get_spoken_name(target)+', then upgrade to '+distro_upgrades[base_distro]+'.' + trigger = '' + print(""" - '{name}_%(base_distro)s_%(action)s_upgrade_to_%(second_base)s': + my_shell: '%(shell)s' + my_prio: '%(prio)s' + my_time: '' + my_trigger: '%(trigger)s' + my_recipients: '%(recipients)s' + my_view: '%(view)s' + my_description: '%(description)s'""" % + dict(base_distro=base_distro, + action=action, + shell=shell, + prio=prio, + trigger=trigger, + recipients=get_recipients(target), + view=get_view(target, base_distro), + second_base=distro_upgrades[base_distro], + description=description)) + -- cgit v1.2.3-70-g09d2