[Qa-jenkins-scm] [jenkins.debian.net] 02/03: Let's try using yaml.dump for this

Holger Levsen holger at moszumanska.debian.org
Tue Jun 2 14:15:42 UTC 2015


This is an automated email from the git hooks/post-receive script.

holger pushed a commit to branch master
in repository jenkins.debian.net.

commit e6e5747c39331e95c530d6b779b63e15f068c24c
Author: Philip Hands <phil at hands.com>
Date:   Mon Jun 1 22:59:51 2015 +0100

    Let's try using yaml.dump for this
---
 job-cfg/d-i.yaml    | 1160 ---------------------------------------------------
 job-cfg/d-i.yaml.py |  351 ++++++++++++++++
 2 files changed, 351 insertions(+), 1160 deletions(-)

diff --git a/job-cfg/d-i.yaml b/job-cfg/d-i.yaml
deleted file mode 100644
index 50b570f..0000000
--- a/job-cfg/d-i.yaml
+++ /dev/null
@@ -1,1160 +0,0 @@
-- defaults:
-    name: d-i
-    project-type: freestyle
-    logrotate:
-      daysToKeep: 90
-      numToKeep: 30
-      artifactDaysToKeep: -1
-      artifactNumToKeep: -1
-    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/d-i_misc/
-          text: Misc debian-installer jobs
-          icon: /userContent/images/debian-jenkins-24x24.png
-      - sidebar:
-          url: http://www.profitbricks.co.uk
-          text: Sponsored by Profitbricks
-          icon: /userContent/images/profitbricks-24x24.png
-
-- defaults:
-    name: d-i-manual-html
-    project-type: freestyle
-    logrotate:
-      daysToKeep: 90
-      numToKeep: 30
-      artifactDaysToKeep: -1
-      artifactNumToKeep: -1
-    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/d-i_manual/
-          text: debian-installer manual jobs
-          icon: /userContent/images/debian-jenkins-24x24.png
-      - sidebar:
-          url: http://www.profitbricks.co.uk
-          text: Sponsored by Profitbricks
-          icon: /userContent/images/profitbricks-24x24.png
-      - priority:
-          job-prio: '120'
-    description: 'Builds the {languagename} html version of the installation-guide for all architectures. Triggered by SVN commits to <code>svn://anonscm.debian.org/svn/d-i/trunk/manual/{lang}/<code>. After successful build <a href="https://jenkins.debian.net/job/d-i_manual_{lang}_html">d-i_manual_{lang}_pdf</a> is triggered. {do_not_edit}'
-    scm:
-      - svn:
-         url: svn://anonscm.debian.org/svn/d-i/trunk
-         basedir: .
-         workspaceupdater: update
-         includedRegions: '/trunk/manual/{lang}/.*'
-         excludedRegions: ''
-         excludedUsers: ''
-         excludedRevprop: ''
-         excludedCommitMessages: ''
-         viewvc-url: http://anonscm.debian.org/viewvc/d-i/trunk
-    builders:
-      - shell: '/srv/jenkins/bin/d-i_manual.sh {lang} html'
-    triggers:
-      - pollscm: '*/15 * * * *'
-    publishers:
-      - trigger:
-          project: 'd-i_manual_{lang}_pdf'
-          threshold: 'UNSTABLE'
-      - logparser:
-          parse-rules: '/srv/jenkins/logparse/debian-installer.rules'
-          unstable-on-warning: 'true'
-          fail-on-error: 'true'
-      - email:
-          recipients: 'jenkins+debian-boot qa-jenkins-scm at lists.alioth.debian.org'
-      - archive:
-          artifacts: 'html/**/*.*'
-          latest_only: true
-
-- defaults:
-    name: d-i-manual-html-po2xml
-    project-type: freestyle
-    logrotate:
-      daysToKeep: 90
-      numToKeep: 30
-      artifactDaysToKeep: -1
-      artifactNumToKeep: -1
-    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/d-i_manual/
-          text: debian-installer manual jobs
-          icon: /userContent/images/debian-jenkins-24x24.png
-      - sidebar:
-          url: http://www.profitbricks.co.uk
-          text: Sponsored by Profitbricks
-          icon: /userContent/images/profitbricks-24x24.png
-      - priority:
-          job-prio: '120'
-    description: 'Builds the {languagename} html version of the installation-guide for all architectures. Triggered by SVN commits to <code>svn://anonscm.debian.org/svn/d-i/trunk/manual/po/{lang}/<code>. After successful build <a href="https://jenkins.debian.net/job/d-i_manual_{lang}_html">d-i_manual_{lang}_pdf</a> is triggered. {do_not_edit}'
-    scm:
-      - svn:
-         url: svn://anonscm.debian.org/svn/d-i/trunk
-         basedir: .
-         workspaceupdater: update
-         includedRegions: '/trunk/manual/po/{lang}/.*'
-         excludedRegions: ''
-         excludedUsers: ''
-         excludedRevprop: ''
-         excludedCommitMessages: ''
-         viewvc-url: http://anonscm.debian.org/viewvc/d-i/trunk
-    builders:
-      - shell: '/srv/jenkins/bin/d-i_manual.sh {lang} html po2xml'
-    triggers:
-      - pollscm: '*/30 * * * *'
-    publishers:
-      - trigger:
-          project: 'd-i_manual_{lang}_pdf'
-          threshold: 'UNSTABLE'
-      - logparser:
-          parse-rules: '/srv/jenkins/logparse/debian-installer.rules'
-          unstable-on-warning: 'true'
-          fail-on-error: 'true'
-      - email:
-          recipients: 'jenkins+debian-boot qa-jenkins-scm at lists.alioth.debian.org'
-      - archive:
-          artifacts: 'html/**/*.*'
-          latest_only: true
-
-- defaults:
-    name: d-i-manual-pdf
-    project-type: freestyle
-    logrotate:
-      daysToKeep: 90
-      numToKeep: 30
-      artifactDaysToKeep: -1
-      artifactNumToKeep: -1
-    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/d-i_manual/
-          text: debian-installer manual jobs
-          icon: /userContent/images/debian-jenkins-24x24.png
-      - sidebar:
-          url: http://www.profitbricks.co.uk
-          text: Sponsored by Profitbricks
-          icon: /userContent/images/profitbricks-24x24.png
-      - priority:
-          job-prio: '120'
-    description: 'Builds the {languagename} pdf version of the installation-guide for all architectures. Triggered by successful build of <a href="https://jenkins.debian.net/job/d-i_manual_{lang}_html">d-i_manual_{lang}_html</a>. {do_not_edit}'
-    scm:
-      - svn:
-         url: svn://anonscm.debian.org/svn/d-i/trunk
-         basedir: .
-         workspaceupdater: update
-         includedRegions: '/trunk/manual/{lang}/.*'
-         excludedRegions: ''
-         excludedUsers: ''
-         excludedRevprop: ''
-         excludedCommitMessages: ''
-         viewvc-url: http://anonscm.debian.org/viewvc/d-i/trunk
-    builders:
-      - shell: '/srv/jenkins/bin/d-i_manual.sh {lang} pdf'
-    publishers:
-      - logparser:
-          parse-rules: '/srv/jenkins/logparse/debian-installer.rules'
-          unstable-on-warning: 'true'
-          fail-on-error: 'true'
-      - email:
-          recipients: 'jenkins+debian-boot qa-jenkins-scm at lists.alioth.debian.org'
-      - archive:
-          artifacts: 'pdf/**/*.*'
-          latest_only: true
-
-- defaults:
-    name: d-i-manual-pdf-po2xml
-    project-type: freestyle
-    logrotate:
-      daysToKeep: 90
-      numToKeep: 30
-      artifactDaysToKeep: -1
-      artifactNumToKeep: -1
-    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/d-i_manual/
-          text: debian-installer manual jobs
-          icon: /userContent/images/debian-jenkins-24x24.png
-      - sidebar:
-          url: http://www.profitbricks.co.uk
-          text: Sponsored by Profitbricks
-          icon: /userContent/images/profitbricks-24x24.png
-      - priority:
-          job-prio: '120'
-    description: 'Builds the {languagename} pdf version of the installation-guide for all architectures. Triggered by successful build of <a href="https://jenkins.debian.net/job/d-i_manual_{lang}_html">d-i_manual_{lang}_html</a>. {do_not_edit}'
-    scm:
-      - svn:
-         url: svn://anonscm.debian.org/svn/d-i/trunk
-         basedir: .
-         workspaceupdater: update
-         includedRegions: '/trunk/manual/po/{lang}/.*'
-         excludedRegions: ''
-         excludedUsers: ''
-         excludedRevprop: ''
-         excludedCommitMessages: ''
-         viewvc-url: http://anonscm.debian.org/viewvc/d-i/trunk
-    builders:
-      - shell: '/srv/jenkins/bin/d-i_manual.sh {lang} pdf po2xml'
-    publishers:
-      - logparser:
-          parse-rules: '/srv/jenkins/logparse/debian-installer.rules'
-          unstable-on-warning: 'true'
-          fail-on-error: 'true'
-      - email:
-          recipients: 'jenkins+debian-boot qa-jenkins-scm at lists.alioth.debian.org'
-      - archive:
-          artifacts: 'pdf/**/*.*'
-          latest_only: true
-
-- defaults:
-    name: d-i-build
-    project-type: freestyle
-    logrotate:
-      daysToKeep: 90
-      numToKeep: 30
-      artifactDaysToKeep: -1
-      artifactNumToKeep: -1
-    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/d-i_packages/
-          text: debian-installer packages jobs
-          icon: /userContent/images/debian-jenkins-24x24.png
-      - sidebar:
-          url: http://www.profitbricks.co.uk
-          text: Sponsored by Profitbricks
-          icon: /userContent/images/profitbricks-24x24.png
-      - priority:
-          job-prio: '99'
-    description: 'Builds debian packages in sid from git master branch, triggered by pushes to <pre>{gitrepo}</pre> {do_not_edit}'
-    scm:
-      - git:
-          url: '{gitrepo}'
-          branches:
-            - master
-            - 'pu/*'
-    builders:
-      - shell: '/srv/jenkins/bin/d-i_build.sh'
-    triggers:
-      - pollscm: '*/6 * * * *'
-    publishers:
-      - logparser:
-          parse-rules: '/srv/jenkins/logparse/debian-installer.rules'
-          unstable-on-warning: 'true'
-          fail-on-error: 'true'
-      - email:
-          recipients: 'jenkins+debian-boot qa-jenkins-scm at lists.alioth.debian.org'
-
-- job-template:
-    defaults: d-i
-    name: '{name}_manual'
-    description: 'Builds the installation-guide package. Triggered by SVN commits to <code>svn://anonscm.debian.org/svn/d-i/</code> matching these patterns: <pre>{include}</pre> {do_not_edit}'
-    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/d-i_manual/
-         text: debian-installer manual jobs
-         icon: /userContent/images/debian-jenkins-24x24.png
-      - sidebar:
-         url: http://www.profitbricks.co.uk
-         text: Sponsored by Profitbricks
-         icon: /userContent/images/profitbricks-24x24.png
-      - priority:
-         job-prio: '125'
-    scm:
-      - svn:
-         url: svn://anonscm.debian.org/svn/d-i/trunk
-         basedir: .
-         workspaceupdater: update
-         includedRegions: '{include}'
-         excludedRegions: ''
-         excludedUsers: ''
-         excludedRevprop: ''
-         excludedCommitMessages: ''
-         viewvc-url: http://anonscm.debian.org/viewvc/d-i/trunk
-    builders:
-      - shell: '/srv/jenkins/bin/d-i_manual.sh'
-    triggers:
-      - pollscm: '*/15 * * * *'
-    publishers:
-      - email:
-          recipients: 'jenkins+debian-boot qa-jenkins-scm at lists.alioth.debian.org'
-## doesnt work, the artifacts reside outside the workspace
-#      - archive:
-#          artifacts: '*_*.dsc *_*.tar.* *_*_*.deb *_*_*.build *_*_*.changes'
-#          latest_only: true
-
-- job-template:
-    defaults: d-i
-    name: '{name}_check_jenkins_jobs'
-    description: 'Checks daily for missing jenkins jobs. {do_not_edit}'
-    builders:
-      - shell: '/srv/jenkins/bin/d-i_check_jobs.sh'
-    triggers:
-      - timed: '23 0 * * *'
-    publishers:
-      - logparser:
-          parse-rules: '/srv/jenkins/logparse/debian.rules'
-          unstable-on-warning: 'true'
-          fail-on-error: 'true'
-      - email:
-          recipients: 'qa-jenkins-scm at lists.alioth.debian.org'
-
-- job-template:
-    defaults: d-i
-    name: '{name}_maintenance'
-    description: 'Cleanup and monitor so that there is a predictable environment.{do_not_edit}'
-    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/d-i_manual/
-         text: debian-installer manual jobs
-         icon: /userContent/images/debian-jenkins-24x24.png
-      - sidebar:
-         url: http://www.profitbricks.co.uk
-         text: Sponsored by Profitbricks
-         icon: /userContent/images/profitbricks-24x24.png
-      - priority:
-         job-prio: '150'
-    triggers:
-      - timed: '30 5 * * *'
-    builders:
-      - shell: '/srv/jenkins/bin/maintenance.sh {name}'
-    publishers:
-      - logparser:
-          parse-rules: '/srv/jenkins/logparse/debian.rules'
-          unstable-on-warning: 'true'
-          fail-on-error: 'true'
-      - email:
-          recipients: 'jenkins+debian-boot qa-jenkins-scm at lists.alioth.debian.org'
-
-- job-template:
-    defaults: d-i-manual-html
-    name: '{name}_manual_ca_html'
-- job-template:
-    defaults: d-i-manual-html
-    name: '{name}_manual_cs_html'
-- job-template:
-    defaults: d-i-manual-html
-    name: '{name}_manual_de_html'
-- job-template:
-    defaults: d-i-manual-html
-    name: '{name}_manual_en_html'
-- job-template:
-    defaults: d-i-manual-html
-    name: '{name}_manual_fr_html'
-- job-template:
-    defaults: d-i-manual-html
-    name: '{name}_manual_it_html'
-- job-template:
-    defaults: d-i-manual-html
-    name: '{name}_manual_pt_BR_html'
-- job-template:
-    defaults: d-i-manual-pdf
-    name: '{name}_manual_ca_pdf'
-- job-template:
-    defaults: d-i-manual-pdf
-    name: '{name}_manual_cs_pdf'
-- job-template:
-    defaults: d-i-manual-pdf
-    name: '{name}_manual_de_pdf'
-- job-template:
-    defaults: d-i-manual-pdf
-    name: '{name}_manual_en_pdf'
-- job-template:
-    defaults: d-i-manual-pdf
-    name: '{name}_manual_fr_pdf'
-- job-template:
-    defaults: d-i-manual-pdf
-    name: '{name}_manual_it_pdf'
-- job-template:
-    defaults: d-i-manual-pdf
-    name: '{name}_manual_pt_BR_pdf'
-
-- job-template:
-    defaults: d-i-manual-pdf-po2xml
-    name: '{name}_manual_da_pdf'
-- job-template:
-    defaults: d-i-manual-html-po2xml
-    name: '{name}_manual_da_html'
-#- job-template:
-#    defaults: d-i-manual-pdf-po2xml
-#    name: '{name}_manual_el_pdf'
-- job-template:
-    defaults: d-i-manual-html-po2xml
-    name: '{name}_manual_el_html'
-- job-template:
-    defaults: d-i-manual-pdf-po2xml
-    name: '{name}_manual_es_pdf'
-- job-template:
-    defaults: d-i-manual-html-po2xml
-    name: '{name}_manual_es_html'
-- job-template:
-    defaults: d-i-manual-pdf-po2xml
-    name: '{name}_manual_fi_pdf'
-- job-template:
-    defaults: d-i-manual-html-po2xml
-    name: '{name}_manual_fi_html'
-- job-template:
-    defaults: d-i-manual-pdf-po2xml
-    name: '{name}_manual_hu_pdf'
-- job-template:
-    defaults: d-i-manual-html-po2xml
-    name: '{name}_manual_hu_html'
-#- job-template:
-#    defaults: d-i-manual-pdf-po2xml
-#    name: '{name}_manual_ja_pdf'
-- job-template:
-    defaults: d-i-manual-html-po2xml
-    name: '{name}_manual_ja_html'
-- job-template:
-    defaults: d-i-manual-pdf-po2xml
-    name: '{name}_manual_ko_pdf'
-- job-template:
-    defaults: d-i-manual-html-po2xml
-    name: '{name}_manual_ko_html'
-- job-template:
-    defaults: d-i-manual-pdf-po2xml
-    name: '{name}_manual_nl_pdf'
-- job-template:
-    defaults: d-i-manual-html-po2xml
-    name: '{name}_manual_nl_html'
-- job-template:
-    defaults: d-i-manual-pdf-po2xml
-    name: '{name}_manual_nn_pdf'
-- job-template:
-    defaults: d-i-manual-html-po2xml
-    name: '{name}_manual_nn_html'
-- job-template:
-    defaults: d-i-manual-pdf-po2xml
-    name: '{name}_manual_pt_pdf'
-- job-template:
-    defaults: d-i-manual-html-po2xml
-    name: '{name}_manual_pt_html'
-- job-template:
-    defaults: d-i-manual-pdf-po2xml
-    name: '{name}_manual_ro_pdf'
-- job-template:
-    defaults: d-i-manual-html-po2xml
-    name: '{name}_manual_ro_html'
-- job-template:
-    defaults: d-i-manual-pdf-po2xml
-    name: '{name}_manual_ru_pdf'
-- job-template:
-    defaults: d-i-manual-html-po2xml
-    name: '{name}_manual_ru_html'
-- job-template:
-    defaults: d-i-manual-pdf-po2xml
-    name: '{name}_manual_sv_pdf'
-- job-template:
-    defaults: d-i-manual-html-po2xml
-    name: '{name}_manual_sv_html'
-- job-template:
-    defaults: d-i-manual-pdf-po2xml
-    name: '{name}_manual_tl_pdf'
-- job-template:
-    defaults: d-i-manual-html-po2xml
-    name: '{name}_manual_tl_html'
-#- job-template:
-#    defaults: d-i-manual-pdf-po2xml
-#    name: '{name}_manual_vi_pdf'
-- job-template:
-    defaults: d-i-manual-html-po2xml
-    name: '{name}_manual_vi_html'
-#- job-template:
-#    defaults: d-i-manual-pdf-po2xml
-#    name: '{name}_manual_zh_CN_pdf'
-- job-template:
-    defaults: d-i-manual-html-po2xml
-    name: '{name}_manual_zh_CN_html'
-#- job-template:
-#    defaults: d-i-manual-pdf-po2xml
-#    name: '{name}_manual_zh_TW_pdf'
-- job-template:
-    defaults: d-i-manual-html-po2xml
-    name: '{name}_manual_zh_TW_html'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_anna'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_apt-setup'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_arcboot-installer'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_base-installer'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_bterm-unifont'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_babelbox'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_busybox'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_cdebconf-entropy'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_cdebconf-terminal'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_cdebconf'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_cdrom-checker'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_cdrom-detect'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_cdrom-retriever'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_choose-mirror'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_clock-setup'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_console-setup'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_debian-installer-launcher'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_debian-installer-netboot-images'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_debian-installer-utils'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_debian-installer'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_debootstrap'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_desktop-chooser'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_devicetype-detect'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_dh-di'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_efi-reader'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_elilo-installer'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_finish-install'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_flash-kernel'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_grub-installer'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_hw-detect'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_installation-locale'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_installation-report'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_iso-scan'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_kbd-chooser'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_kernel-wedge'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_kickseed'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_lenny-support'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_libdebian-installer'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_lilo-installer'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_live-installer'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_localechooser'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_lowmem'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_lvmcfg'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_main-menu'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_mdcfg'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_media-retriever'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_mklibs'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_mountmedia'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_net-retriever'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_netboot-assistant'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_netcfg'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_network-console'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_nobootloader'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_oldsys-preseed'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_os-prober'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partconf'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partitioner'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partman-auto-crypto'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partman-auto-lvm'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partman-auto-raid'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partman-auto'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partman-base'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partman-basicfilesystems'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partman-basicmethods'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partman-btrfs'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partman-crypto'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partman-efi'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partman-ext3'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partman-iscsi'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partman-jfs'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partman-lvm'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partman-md'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partman-multipath'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partman-nbd'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partman-newworld'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partman-partitioning'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partman-prep'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partman-target'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partman-ufs'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partman-xfs'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_partman-zfs'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_pkgsel'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_prep-installer'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_preseed'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_quik-installer'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_rescue'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_rootskel-gtk'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_rootskel'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_s390-dasd'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_s390-netdevice'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_s390-sysconfig-writer'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_sibyl-installer'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_silo-installer'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_tzsetup'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_udpkg'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_usb-discover'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_user-setup'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_win32-loader'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_yaboot-installer'
-- job-template:
-    defaults: d-i-build
-    name: '{name}_build_zipl-installer'
-
-# http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes to the rescue!
-
-- project:
-    name: d-i
-    do_not_edit: '<br><br>Job configuration source is <a href="http://anonscm.debian.org/cgit/qa/jenkins.debian.net.git/tree/job-cfg/d-i.yaml">d-i.yaml</a>.'
-    jobs:
-      - '{name}_maintenance'
-      - '{name}_check_jenkins_jobs'
-      - '{name}_manual':
-         include: '/trunk/manual/debian/.*
-
-/trunk/manual/po/.*
-
-/trunk/manual/doc/.*
-
-/trunk/manual/scripts/.*'
-      - '{name}_manual_ca_html':
-         lang: 'ca'
-         languagename: 'Catalan'
-      - '{name}_manual_cs_html':
-         lang: 'cs'
-         languagename: 'Czech'
-      - '{name}_manual_de_html':
-         lang: 'de'
-         languagename: 'German'
-      - '{name}_manual_en_html':
-         lang: 'en'
-         languagename: 'English'
-      - '{name}_manual_fr_html':
-         lang: 'fr'
-         languagename: 'French'
-      - '{name}_manual_it_html':
-         lang: 'it'
-         languagename: 'Italian'
-      - '{name}_manual_pt_BR_html':
-         lang: 'pt_BR'
-         languagename: 'Brazilian Portuguese'
-      - '{name}_manual_da_pdf':
-         lang: 'da'
-         languagename: 'Danish'
-      - '{name}_manual_da_html':
-         lang: 'da'
-         languagename: 'Danish'
-#      - '{name}_manual_el_pdf':
-#         lang: 'el'
-#         languagename: 'Greek'
-      - '{name}_manual_el_html':
-         lang: 'el'
-         languagename: 'Greek'
-      - '{name}_manual_es_pdf':
-         lang: 'es'
-         languagename: 'Spanish'
-      - '{name}_manual_es_html':
-         lang: 'es'
-         languagename: 'Spanish'
-      - '{name}_manual_fi_pdf':
-         lang: 'fi'
-         languagename: 'Finnish'
-      - '{name}_manual_fi_html':
-         lang: 'fi'
-         languagename: 'Finnish'
-      - '{name}_manual_hu_pdf':
-         lang: 'hu'
-         languagename: 'Hungarian'
-      - '{name}_manual_hu_html':
-         lang: 'hu'
-         languagename: 'Hungarian'
-#      - '{name}_manual_ja_pdf':
-#         lang: 'ja'
-#         languagename: 'Japanese'
-      - '{name}_manual_ja_html':
-         lang: 'ja'
-         languagename: 'Japanese'
-      - '{name}_manual_ko_pdf':
-         lang: 'ko'
-         languagename: 'Korean'
-      - '{name}_manual_ko_html':
-         lang: 'ko'
-         languagename: 'Korean'
-      - '{name}_manual_nl_pdf':
-         lang: 'nl'
-         languagename: 'Dutch'
-      - '{name}_manual_nl_html':
-         lang: 'nl'
-         languagename: 'Dutch'
-      - '{name}_manual_nn_pdf':
-         lang: 'nn'
-         languagename: 'Norwegian Nynorsk'
-      - '{name}_manual_nn_html':
-         lang: 'nn'
-         languagename: 'Norwegian Nynorsk'
-      - '{name}_manual_pt_pdf':
-         lang: 'pt'
-         languagename: 'Portuguese'
-      - '{name}_manual_pt_html':
-         lang: 'pt'
-         languagename: 'Portuguese'
-      - '{name}_manual_ro_pdf':
-         lang: 'ro'
-         languagename: 'Romanian'
-      - '{name}_manual_ro_html':
-         lang: 'ro'
-         languagename: 'Romanian'
-      - '{name}_manual_ru_pdf':
-         lang: 'ru'
-         languagename: 'Russian'
-      - '{name}_manual_ru_html':
-         lang: 'ru'
-         languagename: 'Russian'
-      - '{name}_manual_sv_pdf':
-         lang: 'sv'
-         languagename: 'Swedish'
-      - '{name}_manual_sv_html':
-         lang: 'sv'
-         languagename: 'Swedish'
-      - '{name}_manual_tl_pdf':
-         lang: 'tl'
-         languagename: 'Tagalog'
-      - '{name}_manual_tl_html':
-         lang: 'tl'
-         languagename: 'Tagalog'
-#      - '{name}_manual_vi_pdf':
-#         lang: 'vi'
-#         languagename: 'Vietnamese'
-      - '{name}_manual_vi_html':
-         lang: 'vi'
-         languagename: 'Vietnamese'
-#      - '{name}_manual_zh_CN_pdf':
-#         lang: 'zh_CN'
-#         languagename: 'Chinese (zh_CN)'
-      - '{name}_manual_zh_CN_html':
-         lang: 'zh_CN'
-         languagename: 'Chinese (zh_CN)'
-#      - '{name}_manual_zh_TW_pdf':
-#         lang: 'zh_TW'
-#         languagename: 'Chinese (zh_TW)'
-      - '{name}_manual_zh_TW_html':
-         lang: 'zh_TW'
-         languagename: 'Chinese (zh_TW)'
-      - '{name}_manual_ca_pdf':
-         lang: 'ca'
-         languagename: 'Catalan'
-      - '{name}_manual_cs_pdf':
-         lang: 'cs'
-         languagename: 'Czech'
-      - '{name}_manual_de_pdf':
-         lang: 'de'
-         languagename: 'German'
-      - '{name}_manual_en_pdf':
-         lang: 'en'
-         languagename: 'English'
-      - '{name}_manual_fr_pdf':
-         lang: 'fr'
-         languagename: 'French'
-      - '{name}_manual_it_pdf':
-         lang: 'it'
-         languagename: 'Italian'
-      - '{name}_manual_pt_BR_pdf':
-         lang: 'pt_BR'
-         languagename: 'Brazilian Portuguese'
-      - '{name}_build_anna':
-         gitrepo: 'git://git.debian.org/git/d-i/anna'
-      - '{name}_build_apt-setup':
-         gitrepo: 'git://git.debian.org/git/d-i/apt-setup'
-      - '{name}_build_arcboot-installer':
-         gitrepo: 'git://git.debian.org/git/d-i/arcboot-installer'
-      - '{name}_build_base-installer':
-         gitrepo: 'git://git.debian.org/git/d-i/base-installer'
-      - '{name}_build_bterm-unifont':
-         gitrepo: 'git://git.debian.org/git/d-i/bterm-unifont'
-      - '{name}_build_babelbox':
-         gitrepo: 'git://git.debian.org/git/d-i/babelbox'
-      - '{name}_build_busybox':
-         gitrepo: 'git://git.debian.org/git/d-i/busybox'
-      - '{name}_build_cdebconf-entropy':
-         gitrepo: 'git://git.debian.org/git/d-i/cdebconf-entropy'
-      - '{name}_build_cdebconf-terminal':
-         gitrepo: 'git://git.debian.org/git/d-i/cdebconf-terminal'
-      - '{name}_build_cdebconf':
-         gitrepo: 'git://git.debian.org/git/d-i/cdebconf'
-      - '{name}_build_cdrom-checker':
-         gitrepo: 'git://git.debian.org/git/d-i/cdrom-checker'
-      - '{name}_build_cdrom-detect':
-         gitrepo: 'git://git.debian.org/git/d-i/cdrom-detect'
-      - '{name}_build_cdrom-retriever':
-         gitrepo: 'git://git.debian.org/git/d-i/cdrom-retriever'
-      - '{name}_build_choose-mirror':
-         gitrepo: 'git://git.debian.org/git/d-i/choose-mirror'
-      - '{name}_build_clock-setup':
-         gitrepo: 'git://git.debian.org/git/d-i/clock-setup'
-      - '{name}_build_console-setup':
-         gitrepo: 'git://git.debian.org/git/d-i/console-setup'
-      - '{name}_build_debian-installer-launcher':
-         gitrepo: 'git://git.debian.org/git/d-i/debian-installer-launcher'
-      - '{name}_build_debian-installer-netboot-images':
-         gitrepo: 'git://git.debian.org/git/d-i/debian-installer-netboot-images'
-      - '{name}_build_debian-installer-utils':
-         gitrepo: 'git://git.debian.org/git/d-i/debian-installer-utils'
-      - '{name}_build_debian-installer':
-         gitrepo: 'git://git.debian.org/git/d-i/debian-installer'
-      - '{name}_build_debootstrap':
-         gitrepo: 'git://git.debian.org/git/d-i/debootstrap'
-      - '{name}_build_desktop-chooser':
-         gitrepo: 'git://git.debian.org/git/d-i/desktop-chooser'
-      - '{name}_build_devicetype-detect':
-         gitrepo: 'git://git.debian.org/git/d-i/devicetype-detect'
-      - '{name}_build_dh-di':
-         gitrepo: 'git://git.debian.org/git/d-i/dh-di'
-      - '{name}_build_efi-reader':
-         gitrepo: 'git://git.debian.org/git/d-i/efi-reader'
-      - '{name}_build_elilo-installer':
-         gitrepo: 'git://git.debian.org/git/d-i/elilo-installer'
-      - '{name}_build_finish-install':
-         gitrepo: 'git://git.debian.org/git/d-i/finish-install'
-      - '{name}_build_flash-kernel':
-         gitrepo: 'git://git.debian.org/git/d-i/flash-kernel'
-      - '{name}_build_grub-installer':
-         gitrepo: 'git://git.debian.org/git/d-i/grub-installer'
-      - '{name}_build_hw-detect':
-         gitrepo: 'git://git.debian.org/git/d-i/hw-detect'
-      - '{name}_build_installation-locale':
-         gitrepo: 'git://git.debian.org/git/d-i/installation-locale'
-      - '{name}_build_installation-report':
-         gitrepo: 'git://git.debian.org/git/d-i/installation-report'
-      - '{name}_build_iso-scan':
-         gitrepo: 'git://git.debian.org/git/d-i/iso-scan'
-      - '{name}_build_kbd-chooser':
-         gitrepo: 'git://git.debian.org/git/d-i/kbd-chooser'
-      - '{name}_build_kernel-wedge':
-         gitrepo: 'git://git.debian.org/git/d-i/kernel-wedge'
-      - '{name}_build_kickseed':
-         gitrepo: 'git://git.debian.org/git/d-i/kickseed'
-      - '{name}_build_libdebian-installer':
-         gitrepo: 'git://git.debian.org/git/d-i/libdebian-installer'
-      - '{name}_build_lilo-installer':
-         gitrepo: 'git://git.debian.org/git/d-i/lilo-installer'
-      - '{name}_build_live-installer':
-         gitrepo: 'git://git.debian.org/git/d-i/live-installer'
-      - '{name}_build_localechooser':
-         gitrepo: 'git://git.debian.org/git/d-i/localechooser'
-      - '{name}_build_lowmem':
-         gitrepo: 'git://git.debian.org/git/d-i/lowmem'
-      - '{name}_build_lvmcfg':
-         gitrepo: 'git://git.debian.org/git/d-i/lvmcfg'
-      - '{name}_build_main-menu':
-         gitrepo: 'git://git.debian.org/git/d-i/main-menu'
-      - '{name}_build_mdcfg':
-         gitrepo: 'git://git.debian.org/git/d-i/mdcfg'
-      - '{name}_build_media-retriever':
-         gitrepo: 'git://git.debian.org/git/d-i/media-retriever'
-      - '{name}_build_mklibs':
-         gitrepo: 'git://git.debian.org/git/d-i/mklibs'
-      - '{name}_build_mountmedia':
-         gitrepo: 'git://git.debian.org/git/d-i/mountmedia'
-      - '{name}_build_net-retriever':
-         gitrepo: 'git://git.debian.org/git/d-i/net-retriever'
-      - '{name}_build_netboot-assistant':
-         gitrepo: 'git://git.debian.org/git/d-i/netboot-assistant'
-      - '{name}_build_netcfg':
-         gitrepo: 'git://git.debian.org/git/d-i/netcfg'
-      - '{name}_build_network-console':
-         gitrepo: 'git://git.debian.org/git/d-i/network-console'
-      - '{name}_build_nobootloader':
-         gitrepo: 'git://git.debian.org/git/d-i/nobootloader'
-      - '{name}_build_oldsys-preseed':
-         gitrepo: 'git://git.debian.org/git/d-i/oldsys-preseed'
-      - '{name}_build_os-prober':
-         gitrepo: 'git://git.debian.org/git/d-i/os-prober'
-      - '{name}_build_partconf':
-         gitrepo: 'git://git.debian.org/git/d-i/partconf'
-      - '{name}_build_partitioner':
-         gitrepo: 'git://git.debian.org/git/d-i/partitioner'
-      - '{name}_build_partman-auto-crypto':
-         gitrepo: 'git://git.debian.org/git/d-i/partman-auto-crypto'
-      - '{name}_build_partman-auto-lvm':
-         gitrepo: 'git://git.debian.org/git/d-i/partman-auto-lvm'
-      - '{name}_build_partman-auto-raid':
-         gitrepo: 'git://git.debian.org/git/d-i/partman-auto-raid'
-      - '{name}_build_partman-auto':
-         gitrepo: 'git://git.debian.org/git/d-i/partman-auto'
-      - '{name}_build_partman-base':
-         gitrepo: 'git://git.debian.org/git/d-i/partman-base'
-      - '{name}_build_partman-basicfilesystems':
-         gitrepo: 'git://git.debian.org/git/d-i/partman-basicfilesystems'
-      - '{name}_build_partman-basicmethods':
-         gitrepo: 'git://git.debian.org/git/d-i/partman-basicmethods'
-      - '{name}_build_partman-btrfs':
-         gitrepo: 'git://git.debian.org/git/d-i/partman-btrfs'
-      - '{name}_build_partman-crypto':
-         gitrepo: 'git://git.debian.org/git/d-i/partman-crypto'
-      - '{name}_build_partman-efi':
-         gitrepo: 'git://git.debian.org/git/d-i/partman-efi'
-      - '{name}_build_partman-ext3':
-         gitrepo: 'git://git.debian.org/git/d-i/partman-ext3'
-      - '{name}_build_partman-iscsi':
-         gitrepo: 'git://git.debian.org/git/d-i/partman-iscsi'
-      - '{name}_build_partman-jfs':
-         gitrepo: 'git://git.debian.org/git/d-i/partman-jfs'
-      - '{name}_build_partman-lvm':
-         gitrepo: 'git://git.debian.org/git/d-i/partman-lvm'
-      - '{name}_build_partman-md':
-         gitrepo: 'git://git.debian.org/git/d-i/partman-md'
-      - '{name}_build_partman-multipath':
-         gitrepo: 'git://git.debian.org/git/d-i/partman-multipath'
-      - '{name}_build_partman-nbd':
-         gitrepo: 'git://git.debian.org/git/d-i/partman-nbd'
-      - '{name}_build_partman-newworld':
-         gitrepo: 'git://git.debian.org/git/d-i/partman-newworld'
-      - '{name}_build_partman-partitioning':
-         gitrepo: 'git://git.debian.org/git/d-i/partman-partitioning'
-      - '{name}_build_partman-prep':
-         gitrepo: 'git://git.debian.org/git/d-i/partman-prep'
-      - '{name}_build_partman-target':
-         gitrepo: 'git://git.debian.org/git/d-i/partman-target'
-      - '{name}_build_partman-ufs':
-         gitrepo: 'git://git.debian.org/git/d-i/partman-ufs'
-      - '{name}_build_partman-xfs':
-         gitrepo: 'git://git.debian.org/git/d-i/partman-xfs'
-      - '{name}_build_partman-zfs':
-         gitrepo: 'git://git.debian.org/git/d-i/partman-zfs'
-      - '{name}_build_pkgsel':
-         gitrepo: 'git://git.debian.org/git/d-i/pkgsel'
-      - '{name}_build_prep-installer':
-         gitrepo: 'git://git.debian.org/git/d-i/prep-installer'
-      - '{name}_build_preseed':
-         gitrepo: 'git://git.debian.org/git/d-i/preseed'
-      - '{name}_build_quik-installer':
-         gitrepo: 'git://git.debian.org/git/d-i/quik-installer'
-      - '{name}_build_rescue':
-         gitrepo: 'git://git.debian.org/git/d-i/rescue'
-      - '{name}_build_rootskel-gtk':
-         gitrepo: 'git://git.debian.org/git/d-i/rootskel-gtk'
-      - '{name}_build_rootskel':
-         gitrepo: 'git://git.debian.org/git/d-i/rootskel'
-      - '{name}_build_s390-dasd':
-         gitrepo: 'git://git.debian.org/git/d-i/s390-dasd'
-      - '{name}_build_s390-netdevice':
-         gitrepo: 'git://git.debian.org/git/d-i/s390-netdevice'
-      - '{name}_build_s390-sysconfig-writer':
-         gitrepo: 'git://git.debian.org/git/d-i/s390-sysconfig-writer'
-      - '{name}_build_sibyl-installer':
-         gitrepo: 'git://git.debian.org/git/d-i/sibyl-installer'
-      - '{name}_build_silo-installer':
-         gitrepo: 'git://git.debian.org/git/d-i/silo-installer'
-      - '{name}_build_tzsetup':
-         gitrepo: 'git://git.debian.org/git/d-i/tzsetup'
-      - '{name}_build_udpkg':
-         gitrepo: 'git://git.debian.org/git/d-i/udpkg'
-      - '{name}_build_usb-discover':
-         gitrepo: 'git://git.debian.org/git/d-i/usb-discover'
-      - '{name}_build_user-setup':
-         gitrepo: 'git://git.debian.org/git/d-i/user-setup'
-      - '{name}_build_win32-loader':
-         gitrepo: 'git://git.debian.org/git/d-i/win32-loader'
-      - '{name}_build_yaboot-installer':
-         gitrepo: 'git://git.debian.org/git/d-i/yaboot-installer'
-      - '{name}_build_zipl-installer':
-         gitrepo: 'git://git.debian.org/git/d-i/zipl-installer'
-
diff --git a/job-cfg/d-i.yaml.py b/job-cfg/d-i.yaml.py
new file mode 100755
index 0000000..055364a
--- /dev/null
+++ b/job-cfg/d-i.yaml.py
@@ -0,0 +1,351 @@
+#!/usr/bin/python
+
+import sys
+from yaml import load, dump
+try:
+    from yaml import CLoader as Loader, CDumper as Dumper
+except ImportError:
+    from yaml import Loader, Dumper
+
+langs = {
+    'ca': 'Catalan',
+    'cs': 'Czech',
+    'de': 'German',
+    'en': 'English',
+    'fr': 'French',
+    'it': 'Italian',
+    'pt_BR': 'Brazilian Portuguese',
+    'da': 'Danish',
+    'el': 'Greek',
+    'es': 'Spanish',
+    'fi': 'Finnish',
+    'hu': 'Hungarian',
+    'ja': 'Japanese',
+    'ko': 'Korean',
+    'nl': 'Dutch',
+    'nn': 'Norwegian Nynorsk',
+    'pt': 'Portuguese',
+    'ro': 'Romanian',
+    'ru': 'Russian',
+    'sv': 'Swedish',
+    'tl': 'Tagalog',
+    'vi': 'Vietnamese',
+    'zh_CN': 'Chinese (zh_CN)',
+    'zh_TW': 'Chinese (zh_TW)',
+}
+
+non_pdf_langs = ['el', 'vi', 'ja', 'zh_CN', 'zh_TW']
+non_po_langs = ['ca', 'cs', 'de', 'en', 'fr', 'it', 'pt_BR']
+
+pkgs = """
+anna
+apt-setup
+arcboot-installer
+base-installer
+bterm-unifont
+babelbox
+busybox
+cdebconf-entropy
+cdebconf-terminal
+cdebconf
+cdrom-checker
+cdrom-detect
+cdrom-retriever
+choose-mirror
+clock-setup
+console-setup
+debian-installer-launcher
+debian-installer-netboot-images
+debian-installer-utils
+debian-installer
+debootstrap
+desktop-chooser
+devicetype-detect
+dh-di
+efi-reader
+elilo-installer
+finish-install
+flash-kernel
+grub-installer
+hw-detect
+installation-locale
+installation-report
+iso-scan
+kbd-chooser
+kernel-wedge
+kickseed
+lenny-support
+libdebian-installer
+lilo-installer
+live-installer
+localechooser
+lowmem
+lvmcfg
+main-menu
+mdcfg
+media-retriever
+mklibs
+mountmedia
+net-retriever
+netboot-assistant
+netcfg
+network-console
+nobootloader
+oldsys-preseed
+os-prober
+partconf
+partitioner
+partman-auto-crypto
+partman-auto-lvm
+partman-auto-raid
+partman-auto
+partman-base
+partman-basicfilesystems
+partman-basicmethods
+partman-btrfs
+partman-crypto
+partman-efi
+partman-ext3
+partman-iscsi
+partman-jfs
+partman-lvm
+partman-md
+partman-multipath
+partman-nbd
+partman-newworld
+partman-partitioning
+partman-prep
+partman-target
+partman-ufs
+partman-xfs
+partman-zfs
+pkgsel
+prep-installer
+preseed
+quik-installer
+rescue
+rootskel-gtk
+rootskel
+s390-dasd
+s390-netdevice
+s390-sysconfig-writer
+sibyl-installer
+silo-installer
+tzsetup
+udpkg
+usb-discover
+user-setup
+win32-loader
+yaboot-installer
+zipl-installer
+""".split()
+
+def scm_svn(po,inc_regs=None):
+    po_str = ''
+    if po == True:
+        po_str = 'po/'
+
+    if inc_regs == None:
+        inc_regs = '/trunk/manual/' + po_str + '{lang}/.*'
+
+    return  [{'svn': {'excludedCommitMessages': '',
+                      'url': 'svn://anonscm.debian.org/svn/d-i/trunk',
+                      'basedir': '.',
+                      'workspaceupdater': 'update',
+                      'includedRegions': inc_regs,
+                      'excludedUsers': '',
+                      'excludedRevprop': '',
+                      'excludedRegions': '',
+                      'viewvc-url': 'http://anonscm.debian.org/viewvc/d-i/trunk'}}]
+
+def svn_desc(po, fmt):
+    s =  'Builds the {languagename} ' + fmt + ' version of the installation-guide for all architectures. '
+    s += 'Triggered by SVN commits to <code>svn://anonscm.debian.org/svn/d-i/trunk/manual'
+    s += '/po' if po else ''
+    s += '/{lang}/<code>. After successful build <a href="https://jenkins.debian.net/job/d-i_manual_{lang}_html">d-i_manual_{lang}_pdf</a> is triggered. {do_not_edit}'
+    return s
+
+def pdf_desc():
+    s = 'Builds the {languagename} pdf version of the installation-guide for all architectures. Triggered by successful build of <a href="https://jenkins.debian.net/job/d-i_manual_{lang}_html">d-i_manual_{lang}_html</a>. {do_not_edit}'
+    return s
+
+def instguide_desc():
+    return 'Builds the installation-guide package. Triggered by SVN commits to <code>svn://anonscm.debian.org/svn/d-i/</code> matching these patterns: <pre>{include}</pre> {do_not_edit}'
+
+def sb_about():
+    return {'sidebar': {'url': 'https://jenkins.debian.net/userContent/about.html',
+                        'text': 'About jenkins.debian.net',
+                        'icon': '/userContent/images/debian-swirl-24x24.png'}}
+def sb_misc():
+    return {'sidebar': {'url': 'https://jenkins.debian.net/view/d-i_misc/',
+                        'text': 'Misc debian-installer jobs',
+                        'icon': '/userContent/images/debian-jenkins-24x24.png'}}
+def sb_manual():
+    return {'sidebar': {'url': 'https://jenkins.debian.net/view/d-i_manual/',
+                        'text': 'debian-installer manual jobs',
+                        'icon': '/userContent/images/debian-jenkins-24x24.png'}}
+def sb_pkgs():
+    return {'sidebar': {'url': 'https://jenkins.debian.net/view/d-i_packages/',
+                        'text': 'debian-installer packages jobs',
+                        'icon': '/userContent/images/debian-jenkins-24x24.png'}}
+def sb_pbricks():
+    return {'sidebar': {'url': 'http://www.profitbricks.co.uk',
+                        'text': 'Sponsored by Profitbricks',
+                        'icon': '/userContent/images/profitbricks-24x24.png'}}
+def lr(keep):
+    return {'artifactDaysToKeep': -1, 'daysToKeep': keep, 'numToKeep': 30, 'artifactNumToKeep': -1}
+
+def publ(fmt=None,trigger=False):
+    p = []
+    if trigger:
+        p = [{'trigger': {'project': 'd-i_manual_{lang}_pdf', 'threshold': 'UNSTABLE'}}]
+    p.extend([
+        {'logparser': {'parse-rules': '/srv/jenkins/logparse/debian-installer.rules',
+                       'unstable-on-warning': 'true',
+                       'fail-on-error': 'true'}},
+        {'email': {'recipients': 'jenkins+debian-boot qa-jenkins-scm at lists.alioth.debian.org'}}])
+    if fmt != None:
+        p.append({'archive': {'artifacts': fmt + '/**/*.*', 'latest_only': True}})
+    return p
+
+def publ_email():
+        return [{'email': {'recipients': 'jenkins+debian-boot qa-jenkins-scm at lists.alioth.debian.org'}}]
+
+def prop(middle=sb_manual, priority=None):
+    arr = [sb_about(), middle(), sb_pbricks()]
+    if priority != None:
+        arr.append( {'priority': {'job-prio': str(priority)}} )
+    return arr
+
+def jtmpl(act, lang, fmt, po=False):
+    return {'job-template': {'name': '{name}_' + act + '_' + lang
+                             + ('_' + fmt if fmt else ''),
+                             'defaults': 'd-i-' + act
+                             + ('-' + fmt if fmt else '') + ('-po2xml' if po else '')}}
+def jobspec(name,priority=120,logkeep=None,trigger=None,publisher=None,desc=None,po=False,fmt=None,defaults=None,lang=None,inc_regs=None):
+    j = {'scm': scm_svn(po=po,inc_regs=inc_regs),
+         'project-type': 'freestyle',
+         'builders': [{'shell': '/srv/jenkins/bin/d-i_manual.sh'
+                       + (' ' + lang if lang else '')
+                       + (' ' + fmt if fmt else '')
+                       + (' po2xml' if po else '')}],
+         'properties': prop(priority=priority),
+         'name': name}
+    j['publishers'] = publisher() if publisher != None else publ(fmt=fmt,trigger=trigger)
+    if desc != None:
+        j['description'] = desc()
+    else:
+        if fmt != None:
+            j['description'] = svn_desc(po=po,fmt=fmt)
+    if defaults != None:
+        j['defaults'] = defaults
+    if trigger != None:
+        j['triggers'] = [{'pollscm': '*/' + str(trigger) + ' * * * *'}]
+    if logkeep != None:
+        j['logrotate'] = lr(logkeep)
+    return j
+
+
+data = []
+
+data.append({'defaults':{'name': 'd-i',
+                         'logrotate': lr(90),
+                         'project-type': 'freestyle',
+                         'properties': prop(middle=sb_misc)}})
+
+data.append({'defaults': jobspec(name='d-i-manual-html',
+                                 fmt='html',
+                                 lang='{lang}',
+                                 trigger=15,
+                                 logkeep=90)})
+
+data.append({'defaults': jobspec(name='d-i-manual-html-po2xml',
+                                 fmt='html',
+                                 lang='{lang}',
+                                 po=True,
+                                 trigger=30,
+                                 logkeep=90)})
+
+data.append({'defaults': jobspec(name='d-i-manual-pdf',
+                                 fmt='pdf',
+                                 lang='{lang}',
+                                 desc=pdf_desc,
+                                 logkeep=90)})
+
+data.append({'defaults': jobspec(name='d-i-manual-pdf-po2xml',
+                                 fmt='pdf',
+                                 lang='{lang}',
+                                 desc=pdf_desc,
+                                 po=True,
+                                 logkeep=90)})
+
+data.append(
+    {'defaults': {'scm': [{'git': {'url': '{gitrepo}',
+                                   'branches': ['master', 'pu/*']}}],
+                  'publishers': publ(),
+                  'description': 'Builds debian packages in sid from git master branch, triggered by pushes to <pre>{gitrepo}</pre> {do_not_edit}',
+                  'triggers': [{'pollscm': '*/6 * * * *'}],
+                  'project-type': 'freestyle',
+                  'logrotate': lr(90),
+                  'builders': [{'shell': '/srv/jenkins/bin/d-i_build.sh'}],
+                  'properties': prop(middle=sb_pkgs, priority=99),
+                  'name': 'd-i-build'}},
+)
+
+data.append({'job-template': jobspec(defaults='d-i',
+                                     name='{name}_manual',
+                                     desc=instguide_desc,
+                                     trigger=15, priority=125,
+                                     publisher=publ_email,
+                                     inc_regs='{include}')})
+
+data.append(
+    {'job-template': {'publishers': [{'logparser': {'parse-rules': '/srv/jenkins/logparse/debian.rules',
+                                                    'unstable-on-warning': 'true',
+                                                    'fail-on-error': 'true'}},
+                                     {'email': {'recipients': 'qa-jenkins-scm at lists.alioth.debian.org'}}],
+                      'name': '{name}_check_jenkins_jobs',
+                      'defaults': 'd-i',
+                      'triggers': [{'timed': '23 0 * * *'}],
+                      'builders': [{'shell': '/srv/jenkins/bin/d-i_check_jobs.sh'}],
+                      'description': 'Checks daily for missing jenkins jobs. {do_not_edit}'}},
+)
+
+data.append(
+    {'job-template': {'publishers': [{'logparser': {'parse-rules': '/srv/jenkins/logparse/debian.rules',
+                                                    'unstable-on-warning': 'true',
+                                                    'fail-on-error': 'true'}},
+                                     {'email': {'recipients': 'jenkins+debian-boot qa-jenkins-scm at lists.alioth.debian.org'}}],
+                      'name': '{name}_maintenance',
+                      'defaults': 'd-i',
+                      'triggers': [{'timed': '30 5 * * *'}],
+                      'builders': [{'shell': '/srv/jenkins/bin/maintenance.sh {name}'}],
+                      'properties': prop(priority=150),
+                      'description': 'Cleanup and monitor so that there is a predictable environment.{do_not_edit}'}}
+    )
+
+
+data.extend(map(lambda l: jtmpl('manual',l,'html',l not in non_po_langs), langs.keys()))
+data.extend(map(lambda l: jtmpl('manual',l,'pdf',l not in non_po_langs),
+               filter(lambda l: l not in non_pdf_langs,  langs.keys())))
+
+data.extend(map(lambda l: jtmpl('build',l,None), pkgs))
+
+jobs = [
+    '{name}_maintenance',
+    '{name}_check_jenkins_jobs',
+    {'{name}_manual': {'include': '/trunk/manual/debian/.*\n/trunk/manual/po/.*\n/trunk/manual/doc/.*\n/trunk/manual/scripts/.*'}}]
+
+jobs.extend(map(lambda (l, lang): {'{name}_manual_' + l + '_html': {'lang': l, 'languagename': lang}}, langs.iteritems()))
+jobs.extend(map(lambda (l, lang): {'{name}_manual_' + l + '_pdf': {'lang': l, 'languagename': lang}},
+                filter(lambda (l, x): l not in non_pdf_langs, langs.iteritems())))
+jobs.extend(map(lambda (p): {'{name}_build_' + p: {'gitrepo': 'git://git.debian.org/git/d-i/' + p}}, pkgs))
+
+data.append(
+    {'project': {
+        'jobs': jobs,
+        'name': 'd-i',
+        'do_not_edit': '<br><br>Job configuration source is <a href="http://anonscm.debian.org/cgit/qa/jenkins.debian.net.git/tree/job-cfg/d-i.yaml">d-i.yaml</a>.'}}
+)
+
+sys.stdout.write( dump(data, Dumper=Dumper) )

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/qa/jenkins.debian.net.git



More information about the Qa-jenkins-scm mailing list