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