diff options
-rw-r--r-- | job-cfg/rebootstrap.yaml | 134 | ||||
-rwxr-xr-x | job-cfg/rebootstrap.yaml.py | 101 | ||||
-rwxr-xr-x | update_jdn.sh | 3 |
3 files changed, 104 insertions, 134 deletions
diff --git a/job-cfg/rebootstrap.yaml b/job-cfg/rebootstrap.yaml deleted file mode 100644 index de476b0f..00000000 --- a/job-cfg/rebootstrap.yaml +++ /dev/null @@ -1,134 +0,0 @@ -- defaults: - name: rebootstrap - project-type: freestyle - 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/rebootstrap/ - text: All rebootstrap jobs - icon: /userContent/images/debian-jenkins-24x24.png - - sidebar: - url: http://www.profitbricks.com - text: Sponsored by Profitbricks - icon: /userContent/images/profitbricks-24x24.png - - priority: - job-prio: '150' - - throttle: - max-total: 2 - max-per-node: 2 - enabled: True - option: category - categories: - - rebootstrap - description: '{my_description}{do_not_edit}' - logrotate: - daysToKeep: 365 - numToKeep: 365 - artifactDaysToKeep: -1 - artifactNumToKeep: -1 - scm: - - git: - url: 'git://anonscm.debian.org/users/helmutg/rebootstrap.git' - branches: - - jenkins - builders: - - shell: '/srv/jenkins/bin/chroot-run.sh sid ./bootstrap.sh HOST_ARCH={my_arch} {my_params}' - publishers: - - email: - recipients: 'jenkins+debian-bootstrap helmutg@debian.org holger@layer-acht.org' - - logparser: - parse-rules: '/srv/jenkins/logparse/rebootstrap.rules' - unstable-on-warning: 'false' - fail-on-error: 'false' - triggers: - - pollscm: '*/6 * * * *' - - timed: '55 11 * * 0' # every sunday at 11:55 - -- job-template: - defaults: rebootstrap - name: '{name}_arm64' - -- job-template: - defaults: rebootstrap - name: '{name}_arm64_gcc49' - -- job-template: - defaults: rebootstrap - name: '{name}_arm64_multilib' - -- job-template: - defaults: rebootstrap - name: '{name}_arm64_gcc49_multilib' - -- job-template: - defaults: rebootstrap - name: '{name}_m68k' - -- job-template: - defaults: rebootstrap - name: '{name}_m68k_gcc49' - -- job-template: - defaults: rebootstrap - name: '{name}_x32' - -- job-template: - defaults: rebootstrap - name: '{name}_x32_gcc49' - -- job-template: - defaults: rebootstrap - name: '{name}_x32_multilib' - -- job-template: - defaults: rebootstrap - name: '{name}_x32_gcc49_multilib' - - -- project: - name: rebootstrap - do_not_edit: '<br><br>Job configuration source is <a href="http://anonscm.debian.org/gitweb/?p=qa/jenkins.debian.net.git;a=blob;f=job-cfg/rebootstrap.yaml">rebootstrap.yaml</a>.' - jobs: - - '{name}_arm64': - my_arch: 'arm64' - my_params: '' - my_description: 'Verify bootstrappability of Debian for arm64' - - '{name}_arm64_gcc49': - my_arch: 'arm64' - my_params: 'GCC_VER=4.9' - my_description: 'Verify bootstrappability of Debian using gcc-4.9 for arm64' - - '{name}_arm64_multilib': - my_arch: 'arm64' - my_params: 'ENABLE_MULTILIB=yes' - my_description: 'Verify bootstrappability of Debian with multilib for arm64' - - '{name}_arm64_gcc49_multilib': - my_arch: 'arm64' - my_params: 'GCC_VER=4.9 ENABLE_MULTILIB=yes' - my_description: 'Verify bootstrappability of Debian using gcc-4.9 with multilib for arm64' - - '{name}_m68k': - my_arch: 'm68k' - my_params: '' - my_description: 'Verify bootstrappability of Debian for m68k' - - '{name}_m68k_gcc49': - my_arch: 'm68k' - my_params: 'GCC_VER=4.9' - my_description: 'Verify bootstrappability of Debian using gcc-4.9 for m68k' - - '{name}_x32': - my_arch: 'x32' - my_params: '' - my_description: 'Verify bootstrappability of Debian for x32' - - '{name}_x32_gcc49': - my_arch: 'x32' - my_params: 'GCC_VER=4.9' - my_description: 'Verify bootstrappability of Debian using gcc-4.9 for x32' - - '{name}_x32_multilib': - my_arch: 'x32' - my_params: 'ENABLE_MULTILIB=yes' - my_description: 'Verify bootstrappability of Debian with multilib for x32' - - '{name}_x32_gcc49_multilib': - my_arch: 'x32' - my_params: 'GCC_VER=4.9 ENABLE_MULTILIB=yes' - my_description: 'Verify bootstrappability of Debian using gcc-4.9 with multilib for x32' diff --git a/job-cfg/rebootstrap.yaml.py b/job-cfg/rebootstrap.yaml.py new file mode 100755 index 00000000..19243606 --- /dev/null +++ b/job-cfg/rebootstrap.yaml.py @@ -0,0 +1,101 @@ +#!/usr/bin/python + +architectures = """ + arm arm64 armel armhf + i386 + hppa + mips mipsel + powerpc powerpcspe ppc64 ppc64el + s390 s390x + x32 + """.split() + +mono_architectures = """ + alpha + ia64 + m68k + or1k + """.split() + +architectures += mono_architectures + +gcc_versions = """4.8 4.9""".split() + +print(""" +- defaults: + name: rebootstrap + project-type: freestyle + 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/rebootstrap/ + text: All rebootstrap jobs + icon: /userContent/images/debian-jenkins-24x24.png + - sidebar: + url: http://www.profitbricks.com + text: Sponsored by Profitbricks + icon: /userContent/images/profitbricks-24x24.png + - priority: + job-prio: '90' + - throttle: + max-total: 6 + max-per-node: 6 + enabled: True + option: category + categories: + - rebootstrap + description: '{my_description}{do_not_edit}' + logrotate: + daysToKeep: 365 + numToKeep: 365 + artifactDaysToKeep: -1 + artifactNumToKeep: -1 + scm: + - git: + url: 'git://anonscm.debian.org/users/helmutg/rebootstrap.git' + branches: + - '{my_branchname}' + builders: + - shell: '/srv/jenkins/bin/chroot-run.sh sid ./bootstrap.sh HOST_ARCH={my_arch} {my_params}' + publishers: + - email: + recipients: 'jenkins+debian-bootstrap helmutg@debian.org holger@layer-acht.org' + - logparser: + parse-rules: '/srv/jenkins/logparse/rebootstrap.rules' + unstable-on-warning: 'false' + fail-on-error: 'false' + triggers: + - pollscm: '*/6 * * * *' +""") + +for arch in architectures: + for gccver in gcc_versions: + for nobiarch in ["", "_nobiarch"]: + print(""" +- job-template: + defaults: rebootstrap + name '{name}_%(arch)s_gcc%(gccshortver)s%(nobiarch)s'""" % + dict(arch=arch, gccshortver=gccver.replace(".", ""), nobiarch=nobiarch)) + +print(""" +- project: + name: rebootstrap + do_not_edit: '<br><br>Job configuration source is <a href="http://anonscm.debian.org/gitweb/?p=qa/jenkins.debian.net.git;a=blob;f=job-cfg/rebootstrap.yaml">rebootstrap.yaml</a>.' + jobs:""") +for arch in architectures: + for gccver in gcc_versions: + for nobiarch in (False,) if arch in mono_architectures else (False, True): + print( +""" - '{name}_%(suffix)s': + my_arch: '%(arch)s' + my_params: 'GCC_VER=%(gccver)s ENABLE_MULTILIB=%(multilib_value)s' + my_description: 'Verify bootstrappability of Debian using gcc-%(gccver)s%(nobiarch_comment)s for %(arch)s' + my_branchname: 'jenkins_%(suffix)s'""" % + dict(arch=arch, + suffix=arch + "_gcc" + gccver.replace(".", "") + ("_nobiarch" if nobiarch else ""), + gccver=gccver, + multilib_value="no" if nobiarch else "yes", + nobiarch_comment=" without multilib" if nobiarch else "")) diff --git a/update_jdn.sh b/update_jdn.sh index c5cdb89f..574080ec 100755 --- a/update_jdn.sh +++ b/update_jdn.sh @@ -78,6 +78,9 @@ explain "Updated user content for Jenkins." # (using sudo because /etc/jenkins_jobs is root:root 700) # cd /srv/jenkins/job-cfg +for metaconfig in *.yaml.py ; do + python $metaconfig > ${metaconfig%.py} +done for config in *.yaml ; do sudo jenkins-jobs update $config done |