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