summaryrefslogtreecommitdiffstats
path: root/job-cfg
diff options
context:
space:
mode:
authorHelmut Grohne <helmut@subdivi.de>2014-04-24 18:03:20 +0200
committerHolger Levsen <holger@layer-acht.org>2014-04-25 12:08:50 +0200
commit7e476b87b622340e4182721198d18013055d83aa (patch)
tree4e751846060f4f004561480498decc4d179b1180 /job-cfg
parentb2e4de4a01d10861b6bf81adab7b903c6cc9f5c2 (diff)
downloadjenkins.debian.net-7e476b87b622340e4182721198d18013055d83aa.tar.xz
rebootstrap: enable all combinations
* Use python script to avoid erroneous copy&paste. * Avoid nobiarch for architectures where it doesn't make a difference. * Raise worker limit. * Remove time based triggers. * Fine grained per-job triggers using individual branches.
Diffstat (limited to 'job-cfg')
-rw-r--r--job-cfg/rebootstrap.yaml134
-rwxr-xr-xjob-cfg/rebootstrap.yaml.py101
2 files changed, 101 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 ""))