Fix merge-packer job
[releng/builder.git] / jjb / releng-jobs.yaml
1 - project:
2     name: builder-jobs
3     jobs:
4         - 'builder-verify-jjb'
5         - 'builder-verify-python'
6         - 'builder-merge'
7         - 'builder-weekly'
8         - 'builder-check-poms'
9         - 'builder-verify-packer-{platforms}-{templates}'
10         - 'builder-merge-packer-{platforms}-{templates}'
11
12     platforms:
13         - centos
14         - ubuntu-14.04
15
16     templates:
17         - devstack
18         - docker
19         - gbp
20         - java-builder
21         - mininet
22         - mininet-ovs-2.3
23         - mininet-ovs-2.5
24         - robot
25
26     exclude:
27         - platforms: centos
28           templates: gbp
29         - platforms: centos
30           templates: mininet
31         - platforms: centos
32           templates: mininet-ovs-2.3
33         - platforms: centos
34           templates: mininet-ovs-2.5
35         - platforms: ubuntu-14.04
36           templates: java-builder
37
38     project-type: freestyle
39     archive-artifacts: '**/*.log'
40     project: 'releng/builder'
41     build-timeout: '60'
42
43 - job-template:
44     name: builder-verify-jjb
45     node: jjbuilder
46
47     project-type: freestyle
48
49     logrotate:
50         daysToKeep: 7
51
52     parameters:
53         - opendaylight-infra-parameters:
54             project: '{project}'
55             branch: 'master'
56             refspec: 'refs/heads/master'
57             artifacts: '{archive-artifacts}'
58
59     scm:
60         - gerrit-trigger-scm:
61             refspec: '$GERRIT_REFSPEC'
62             choosing-strategy: 'gerrit'
63
64     wrappers:
65         - opendaylight-infra-wrappers:
66             build-timeout: '{build-timeout}'
67
68     triggers:
69         - gerrit:
70             server-name: 'OpenDaylight'
71             trigger-on:
72                 - patchset-created-event:
73                     exclude-drafts: 'false'
74                     exclude-trivial-rebase: 'false'
75                     exclude-no-code-change: 'false'
76                 - draft-published-event
77                 - comment-added-contains-event:
78                     comment-contains-value: 'recheck'
79             projects:
80               - project-compare-type: 'ANT'
81                 project-pattern: 'releng/builder'
82                 branches:
83                   - branch-compare-type: 'ANT'
84                     branch-pattern: '**/master'
85                 file-paths:
86                     - compare-type: ANT
87                       pattern: jjb/**
88                     - compare-type: ANT
89                       pattern: jjb-templates/**
90
91     builders:
92         - shell: |
93             pip freeze
94             jenkins-jobs -l DEBUG test --recursive -o archives/job_output jjb/
95             gzip archives/job_output/*
96
97         - releng-check-unicode
98
99     publishers:
100         - email-notification:
101             email-prefix: '[releng]'
102         - opendaylight-infra-shiplogs:
103             maven-version: '{mvn33}'
104
105 - job-template:
106     name: builder-verify-python
107     node: centos7-java-builder-2c-8g
108
109     project-type: freestyle
110
111     logrotate:
112         daysToKeep: 7
113         numToKeep: 10
114         artifactDaysToKeep: -1
115         artifactNumToKeep: -1
116
117     parameters:
118         - opendaylight-infra-parameters:
119             project: '{project}'
120             branch: 'master'
121             refspec: 'refs/heads/master'
122             artifacts: '{archive-artifacts}'
123
124     scm:
125         - gerrit-trigger-scm:
126             refspec: '$GERRIT_REFSPEC'
127             choosing-strategy: 'gerrit'
128
129     wrappers:
130         - opendaylight-infra-wrappers:
131             build-timeout: '{build-timeout}'
132
133     triggers:
134         - gerrit:
135             server-name: 'OpenDaylight'
136             trigger-on:
137                 - patchset-created-event:
138                     exclude-drafts: 'false'
139                     exclude-trivial-rebase: 'false'
140                     exclude-no-code-change: 'false'
141                 - draft-published-event
142                 - comment-added-contains-event:
143                     comment-contains-value: 'recheck'
144             projects:
145               - project-compare-type: 'ANT'
146                 project-pattern: 'releng/builder'
147                 branches:
148                   - branch-compare-type: 'ANT'
149                     branch-pattern: '**/master'
150                 file-paths:
151                     - compare-type: ANT
152                       pattern: scripts/**
153
154
155     builders:
156         - shell: |
157             virtualenv $WORKSPACE/venv
158             source $WORKSPACE/venv/bin/activate
159             pip install --upgrade pip
160             pip freeze
161             pip install flake8
162             flake8 scripts/
163
164     publishers:
165         - email-notification:
166             email-prefix: '[releng]'
167         - opendaylight-infra-shiplogs:
168             maven-version: '{mvn33}'
169
170 - job-template:
171     name: 'builder-merge'
172     node: jjbuilder
173
174     # builder-merge job to run JJB update
175     #
176     # This job's purpose is to update all the JJB
177
178     project-type: freestyle
179
180     logrotate:
181         daysToKeep: 7
182         numToKeep: 3
183         artifactDaysToKeep: -1
184         artifactNumToKeep: -1
185
186     parameters:
187         - opendaylight-infra-parameters:
188             project: '{project}'
189             branch: 'master'
190             refspec: 'refs/heads/master'
191             artifacts: '{archive-artifacts}'
192
193     scm:
194         - gerrit-trigger-scm:
195             refspec: ''
196             choosing-strategy: 'default'
197
198     wrappers:
199         - opendaylight-infra-wrappers:
200             build-timeout: '{build-timeout}'
201
202     triggers:
203         - gerrit:
204             server-name: 'OpenDaylight'
205             trigger-on:
206                 - change-merged-event
207                 - comment-added-contains-event:
208                     comment-contains-value: 'remerge'
209             projects:
210               - project-compare-type: 'ANT'
211                 project-pattern: 'releng/builder'
212                 branches:
213                     - branch-compare-type: 'ANT'
214                       branch-pattern: '**/master'
215                 file-paths:
216                     - compare-type: ANT
217                       pattern: jjb/**
218                     - compare-type: ANT
219                       pattern: jjb-templates/**
220
221     builders:
222         - shell: |
223             pip freeze
224             jenkins-jobs --version
225             jenkins-jobs update --recursive --delete-old --workers 4 jjb/
226
227     publishers:
228         - email-notification:
229             email-prefix: '[releng]'
230         - opendaylight-infra-shiplogs:
231             maven-version: '{mvn33}'
232
233 - job-template:
234     name: 'builder-weekly'
235     disabled: true
236     node: jjbuilder
237
238     # builder-weekly job to run JJB update weekly
239     #
240     # This job's purpose is to update all the JJB on a weekly (Sunday)
241     # basis with --flush-cache enabled to ensure jobs are okay
242
243     project-type: freestyle
244
245     logrotate:
246         daysToKeep: 7
247         numToKeep: 3
248         artifactDaysToKeep: -1
249         artifactNumToKeep: -1
250
251     parameters:
252         - opendaylight-infra-parameters:
253             project: '{project}'
254             branch: 'master'
255             refspec: 'refs/heads/master'
256             artifacts: '{archive-artifacts}'
257
258     scm:
259         - git-scm:
260             branch: 'master'
261
262     wrappers:
263         - opendaylight-infra-wrappers:
264             build-timeout: '{build-timeout}'
265
266     triggers:
267         - timed: 'H H * * 0'
268
269     builders:
270         - shell: |
271             jenkins-jobs --flush-cache update --recursive jjb/
272
273     publishers:
274         - email-notification:
275             email-prefix: '[releng]'
276         - opendaylight-infra-shiplogs:
277             maven-version: '{mvn33}'
278
279 - job-template:
280     name: builder-check-poms
281     node: centos7-java-builder-2c-8g
282
283     project-type: freestyle
284
285     logrotate:
286         daysToKeep: 1
287         numToKeep: 1
288         artifactDaysToKeep: -1
289         artifactNumToKeep: -1
290
291     parameters:
292         - opendaylight-infra-parameters:
293             project: '{project}'
294             branch: 'master'
295             refspec: 'refs/heads/master'
296             artifacts: '{archive-artifacts}'
297
298     wrappers:
299         - opendaylight-infra-wrappers:
300             build-timeout: '{build-timeout}'
301
302     triggers:
303         - timed: 'H H * * 1'
304
305     builders:
306         - shell:
307             !include-raw-escape:
308                 - include-raw-check-poms.sh
309
310     publishers:
311         - email-notification:
312             email-prefix: '[releng]'
313         - opendaylight-infra-shiplogs:
314             maven-version: '{mvn33}'
315
316 - job-template:
317     name: 'builder-verify-packer-{platforms}-{templates}'
318     project-type: freestyle
319     node: centos7-java-builder-2c-8g
320     concurrent: true
321
322     logrotate:
323         daysToKeep: 14
324
325     parameters:
326         - opendaylight-infra-parameters:
327             project: '{project}'
328             branch: '{branch}'
329             refspec: 'refs/heads/{branch}'
330             artifacts: '{archive-artifacts}'
331
332     scm:
333         - gerrit-trigger-scm:
334             refspec: '$GERRIT_REFSPEC'
335             choosing-strategy: 'gerrit'
336
337     wrappers:
338         - opendaylight-infra-wrappers:
339             build-timeout: '{build-timeout}'
340
341     triggers:
342         - gerrit:
343             server-name: 'OpenDaylight'
344             trigger-on:
345                 - patchset-created-event:
346                     exclude-drafts: 'true'
347                     exclude-trivial-rebase: 'false'
348                     exclude-no-code-change: 'true'
349                 - draft-published-event
350                 - comment-added-contains-event:
351                     comment-contains-value: 'recheck'
352                 - comment-added-contains-event:
353                     comment-contains-value: 'reverify'
354             projects:
355               - project-compare-type: 'ANT'
356                 project-pattern: '{project}'
357                 branches:
358                   - branch-compare-type: 'ANT'
359                     branch-pattern: '**/{branch}'
360                 file-paths:
361                     - compare-type: ANT
362                       pattern: 'packer/**'
363
364     builders:
365         - packer-validate:
366             platform: '{platforms}'
367             template: '{templates}'
368
369     publishers:
370         - email-notification:
371             email-prefix: '[{project}]'
372         - opendaylight-infra-shiplogs:
373             maven-version: '{mvn33}'
374
375 - job-template:
376     name: 'builder-merge-packer-{platforms}-{templates}'
377     project-type: freestyle
378     node: centos7-java-builder-2c-8g
379     concurrent: true
380
381     logrotate:
382         daysToKeep: 14
383
384     parameters:
385         - opendaylight-infra-parameters:
386             project: '{project}'
387             branch: 'master'
388             refspec: 'refs/heads/master'
389             artifacts: '{archive-artifacts}'
390
391     scm:
392         - gerrit-trigger-scm:
393             refspec: ''
394             choosing-strategy: 'default'
395
396     wrappers:
397         - opendaylight-infra-wrappers:
398             build-timeout: '{build-timeout}'
399
400     triggers:
401         - gerrit:
402             server-name: 'OpenDaylight'
403             trigger-on:
404                 - change-merged-event
405                 - comment-added-contains-event:
406                     comment-contains-value: 'remerge'
407             projects:
408               - project-compare-type: 'ANT'
409                 project-pattern: 'releng/builder'
410                 branches:
411                     - branch-compare-type: 'ANT'
412                       branch-pattern: '**/master'
413                 file-paths:
414                     - compare-type: ANT
415                       pattern: 'packer/**'
416
417     builders:
418         - packer-validate:
419             platform: '{platforms}'
420             template: '{templates}'
421         - packer-build:
422             platform: '{platforms}'
423             template: '{templates}'
424
425     publishers:
426         - email-notification:
427             email-prefix: '[{project}]'
428         - opendaylight-infra-shiplogs:
429             maven-version: '{mvn33}'