6da9dc257f9d50af475a9fe6a868249c75549a86
[releng.git] / jjb / releng / releng-jobs.yaml
1 ---
2 - scm:
3     name: releng-scm
4     scm:
5       - git:
6           url: 'ssh://jenkins-ci@gerrit.opnfv.org:29418/releng'
7           refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
8           submodule:
9             recursive: true
10           branches:
11             - '{ref}'
12
13 - trigger:
14     name: releng-patchset-created
15     triggers:
16       - gerrit:
17           trigger-on:
18             - patchset-created-event
19             - comment-added-contains-event:
20                 comment-contains-value: 'recheck'
21             - comment-added-contains-event:
22                 comment-contains-value: 'reverify'
23           projects:
24             - project-compare-type: 'ANT'
25               project-pattern: 'releng'
26               branches:
27                 - branch-compare-type: 'ANT'
28                   branch-pattern: 'master'
29
30 - trigger:
31     name: releng-patchset-merged
32     triggers:
33       - gerrit:
34           trigger-on:
35             - change-merged-event
36             - comment-added-contains-event:
37                 comment-contains-value: 'remerge'
38           projects:
39             - project-compare-type: 'ANT'
40               project-pattern: 'releng'
41               branches:
42                 - branch-compare-type: 'ANT'
43                   branch-pattern: 'master'
44
45 - builder:
46     name: releng-jjb-verify
47     builders:
48       - shell: |
49           sudo apt-get -o DPkg::Lock::Timeout=300 update && \
50           sudo DEBIAN_FRONTEND=noninteractive apt-get \
51             -o DPkg::Lock::Timeout=300 dist-upgrade -y
52           sudo DEBIAN_FRONTEND=noninteractive \
53           apt-get -o DPkg::Lock::Timeout=300 install jenkins-job-builder -y
54           jenkins-jobs test --recursive -o tmp jjb/
55           rm -rf tmp
56
57 - builder:
58     name: releng-jjb-merge
59     builders:
60       - shell: |
61           sudo apt-get -o DPkg::Lock::Timeout=300 update && \
62           sudo DEBIAN_FRONTEND=noninteractive apt-get \
63             -o DPkg::Lock::Timeout=300 dist-upgrade -y
64           sudo DEBIAN_FRONTEND=noninteractive \
65           apt-get -o DPkg::Lock::Timeout=300 install jenkins-job-builder -y
66           jenkins-jobs update --recursive --delete-old jjb/
67
68 - parameter:
69     name: releng-jjb-node
70     parameters:
71       - label:
72           name: node
73           default: '{node}'
74
75 - job-template:
76     name: releng-jjb-verify
77     triggers:
78       - releng-patchset-created
79     scm:
80       - releng-scm:
81           ref: $GERRIT_REFSPEC
82     parameters:
83       - releng-jjb-node:
84           node: opnfv-build
85     builders:
86       - releng-jjb-verify
87
88 - project:
89     name: releng-jjb-verify
90     jobs:
91       - releng-jjb-verify
92
93 - job-template:
94     name: releng-jjb-merge
95     triggers:
96       - releng-patchset-merged
97     scm:
98       - releng-scm:
99           ref: master
100     parameters:
101       - releng-jjb-node:
102           node: opnfv-build
103     builders:
104       - releng-jjb-merge
105
106 - project:
107     name: releng-jjb-merge
108     jobs:
109       - releng-jjb-merge
110
111 - scm:
112     name: opnfv-scm
113     scm:
114       - git:
115           url: 'https://gerrit.opnfv.org/gerrit/{project}'
116           refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
117           submodule:
118             recursive: true
119           branches:
120             - '{ref}'
121
122 - trigger:
123     name: releng-tox-patchset-created
124     triggers:
125       - gerrit:
126           trigger-on:
127             - patchset-created-event
128             - comment-added-contains-event:
129                 comment-contains-value: recheck
130             - comment-added-contains-event:
131                 comment-contains-value: reverify
132           server-name: gerrit.opnfv.org
133           projects:
134             - project-compare-type: 'REG_EXP'
135               project-pattern: '^(?!functest).*'
136               branches:
137                 - branch-compare-type: 'ANT'
138                   branch-pattern: master
139                 - branch-compare-type: 'ANT'
140                   branch-pattern: stable/nile
141                 - branch-compare-type: 'ANT'
142                   branch-pattern: stable/moselle
143
144 - builder:
145     name: releng-tox
146     builders:
147       - shell: |
148           [ -f tox.ini ] || exit 0
149           sudo apt-get -o DPkg::Lock::Timeout=300 update && \
150           sudo DEBIAN_FRONTEND=noninteractive apt-get \
151             -o DPkg::Lock::Timeout=300 dist-upgrade -y
152           sudo DEBIAN_FRONTEND=noninteractive \
153           apt-get -o DPkg::Lock::Timeout=300 install tox -y
154           tox --recreate
155
156 - parameter:
157     name: releng-tox-node
158     parameters:
159       - label:
160           name: node
161           default: '{node}'
162
163 - job-template:
164     name: releng-tox
165     triggers:
166       - releng-tox-patchset-created
167     scm:
168       - opnfv-scm:
169           ref: $GERRIT_REFSPEC
170           project: $GERRIT_PROJECT
171     parameters:
172       - releng-tox-node:
173           node: opnfv-build
174     builders:
175       - releng-tox
176
177 - project:
178     name: releng-tox
179     jobs:
180       - releng-tox
181
182 - project:
183     name: releng-release-jobs
184     stream:
185       - fraser
186       - gambia
187       - hunter
188       - iruya
189       - jerma
190       - kali
191       - leguer
192       - lakelse
193       - moselle
194       - nile
195       - v1.21
196       - v1.22
197       - v1.23
198       - v1.24
199       - v1.25
200       - xena
201       - wallaby
202       - yoga
203       - zed
204     jobs:
205       - 'releng-release-{stream}-verify'
206       - 'releng-release-{stream}-merge'
207
208 - parameter:
209     name: stream-parameter
210     parameters:
211       - string:
212           name: STREAM
213           default: '{stream}'
214
215 - job-template:
216     name: 'releng-release-{stream}-verify'
217     scm:
218       - releng-scm:
219           ref: $GERRIT_REFSPEC
220     parameters:
221       - releng-jjb-node:
222           node: opnfv-build
223       - stream-parameter:
224           stream: '{stream}'
225     triggers:
226       - gerrit:
227           server-name: 'gerrit.opnfv.org'
228           trigger-on:
229             - patchset-created-event:
230                 exclude-drafts: 'false'
231                 exclude-trivial-rebase: 'false'
232                 exclude-no-code-change: 'false'
233             - comment-added-contains-event:
234                 comment-contains-value: 'recheck'
235             - comment-added-contains-event:
236                 comment-contains-value: 'reverify'
237           projects:
238             - project-compare-type: 'ANT'
239               project-pattern: 'releng'
240               branches:
241                 - branch-compare-type: 'ANT'
242                   branch-pattern: '**/master'
243               file-paths:
244                 - compare-type: ANT
245                   pattern: 'releases/{stream}/**'
246                 - compare-type: ANT
247                   pattern: 'releases/schema.yaml'
248                 - compare-type: ANT
249                   pattern: 'releases/scripts/verify_schema.py'
250     builders:
251       - shell: |
252           sudo apt-get -o DPkg::Lock::Timeout=300 update && \
253           sudo DEBIAN_FRONTEND=noninteractive apt-get \
254             -o DPkg::Lock::Timeout=300 dist-upgrade -y
255           sudo DEBIAN_FRONTEND=noninteractive \
256           apt-get -o DPkg::Lock::Timeout=300 install python3-pygerrit2 \
257             python3-ruamel.yaml  -y
258       - shell: !include-raw-escape:
259           - branch-or-tag.sh
260
261 - job-template:
262     name: 'releng-release-{stream}-merge'
263     triggers:
264       - releng-patchset-merged
265     scm:
266       - releng-scm:
267           ref: master
268     parameters:
269       - releng-jjb-node:
270           node: opnfv-build
271       - stream-parameter:
272           stream: '{stream}'
273       - string:
274           name: GIT_URL
275           default: ssh://$USER@gerrit.opnfv.org:29418/
276     triggers:
277       - gerrit:
278           trigger-on:
279             - change-merged-event
280             - comment-added-contains-event:
281                 comment-contains-value: 'remerge'
282           projects:
283             - project-compare-type: 'ANT'
284               project-pattern: 'releng'
285               branches:
286                 - branch-compare-type: 'ANT'
287                   branch-pattern: 'master'
288               file-paths:
289                 - compare-type: ANT
290                   pattern: 'releases/{stream}/**'
291     builders:
292       - shell: |
293           sudo apt-get -o DPkg::Lock::Timeout=300 update && \
294           sudo DEBIAN_FRONTEND=noninteractive apt-get \
295             -o DPkg::Lock::Timeout=300 dist-upgrade -y
296           sudo DEBIAN_FRONTEND=noninteractive \
297           apt-get -o DPkg::Lock::Timeout=300 install python3-pygerrit2 \
298             python3-ruamel.yaml  -y
299       - shell: !include-raw-escape:
300           - branch-or-tag.sh
301
302 - parameter:
303     name: releng-debug-slave
304     parameters:
305       - label:
306           name: slave
307           default: '{slave}'
308
309 - builder:
310     name: releng-debug
311     builders:
312       - shell: |
313           cat ~/.docker/config.json
314
315 - job-template:
316     name: releng-debug
317     parameters:
318       - releng-debug-slave:
319           slave: lf-build5
320     builders:
321       - releng-debug
322
323 - project:
324     name: 'releng-debug'
325     jobs:
326       - 'releng-debug'