blob: 5a3af6ec786a1b048e3b5fd5def715aba7d44c4d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
#!/usr/bin/python
architectures = """
i386
hppa
mips mipsel
powerpc powerpcspe ppc64 ppc64el
s390 s390x
sparc sparc64
x32
""".split()
mono_architectures = """
arm armel armhf arm64
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: '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: 20
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'
- logparser:
parse-rules: '/srv/jenkins/logparse/rebootstrap.rules'
unstable-on-warning: 'false'
fail-on-error: 'false'
triggers:
- pollscm: '*/6 * * * *'
""")
for arch in sorted(architectures):
for gccver in sorted(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.py">rebootstrap.yaml.py</a>.'
jobs:""")
for arch in sorted(architectures):
for gccver in sorted(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 ""))
|