diff options
author | Philip Hands <phil@hands.com> | 2015-06-01 22:59:51 +0100 |
---|---|---|
committer | Holger Levsen <holger@layer-acht.org> | 2015-06-02 16:14:48 +0200 |
commit | e6e5747c39331e95c530d6b779b63e15f068c24c (patch) | |
tree | e3f344d40a44f1e7b174e574bed18204bee20957 | |
parent | c3406e04c34737e081832b8b27ef54b70d749738 (diff) | |
download | jenkins.debian.net-e6e5747c39331e95c530d6b779b63e15f068c24c.tar.xz |
Let's try using yaml.dump for this
-rw-r--r-- | job-cfg/d-i.yaml | 1160 | ||||
-rwxr-xr-x | 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 50b570fd..00000000 --- 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@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@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@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@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@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@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@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@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 00000000..055364a6 --- /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@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@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@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@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) ) |