Merge "Add jenkins param to use featuresBoot (or not)"
[releng/builder.git] / jjb / releng-jobs.yaml
1 ---
2 - project:
3     name: builder-jobs
4     jobs:
5       - '{project-name}-ci-jobs'
6       - builder-check-poms
7       - gerrit-tox-verify
8       # OpenStack Related
9       - 'builder-verify-image-protection'
10       - 'builder-cleanup-old-images'
11       - 'builder-delete-orphaned-nodes'
12       - 'builder-delete-stale-nodes'
13       - 'builder-delete-stale-stacks'
14       # Automation for docs and jobs
15       - 'builder-update-image-list'
16
17     # The following values are only specified here
18     # so that code blocks look similar to other projects.
19     project: 'releng/builder'
20     project-name: builder
21     stream: master
22     branch: master
23     build-node: centos7-java-builder-2c-8g
24     archive-artifacts: '**/*.log'
25     build-timeout: 30
26
27 - project:
28     name: packer-jobs
29     # packer jobs templates are defined in global-jjb
30     jobs:
31       - '{project-name}-packer-jobs'
32     project: 'releng/builder'
33     project-name: builder
34     branch: master
35     archive-artifacts: '**/*.log'
36     build-node: centos7-java-builder-2c-8g
37
38     platforms:
39       - centos
40       - ubuntu-14.04
41       - ubuntu-16.04
42
43     templates:
44       - devstack
45       - devstack-pre-pip-newton:
46           build-timeout: 75
47       - devstack-pre-pip-ocata:
48           build-timeout: 60
49       - devstack-pre-pip-pike:
50           build-timeout: 75
51       - docker:
52           build-timeout: 60
53       - gbp
54       - java-builder:
55           build-timeout: 75
56       - mininet
57       - mininet-ovs-2.5:
58           build-timeout: 60
59       - mininet-ovs-2.6:
60           build-timeout: 75
61       - robot
62
63     exclude:
64       - platforms: centos
65         templates: gbp
66       - platforms: centos
67         templates: mininet
68       - platforms: centos
69         templates: mininet-ovs-2.5
70       - platforms: centos
71         templates: mininet-ovs-2.6
72       - platforms: ubuntu-14.04
73         templates: java-builder
74       - platforms: ubuntu-14.04
75         templates: robot
76       - platforms: ubuntu-14.04
77         templates: devstack-pre-pip-newton
78       - platforms: ubuntu-14.04
79         templates: devstack-pre-pip-ocata
80       - platforms: ubuntu-14.04
81         templates: devstack-pre-pip-pike
82       - platforms: ubuntu-14.04
83         templates: devstack
84       - platforms: ubuntu-14.04
85         templates: docker
86       - platforms: ubuntu-14.04
87         templates: mininet-ovs-2.5
88       - platforms: ubuntu-14.04
89         templates: mininet-ovs-2.6
90       - platforms: ubuntu-16.04
91         templates: java-builder
92       - platforms: ubuntu-16.04
93         templates: robot
94       - platforms: ubuntu-16.04
95         templates: devstack-pre-pip-newton
96       - platforms: ubuntu-16.04
97         templates: devstack-pre-pip-ocata
98       - platforms: ubuntu-16.04
99         templates: devstack-pre-pip-pike
100       - platforms: ubuntu-16.04
101         templates: devstack
102       - platforms: ubuntu-16.04
103         templates: docker
104       - platforms: ubuntu-16.04
105         templates: mininet
106       - platforms: ubuntu-16.04
107         templates: baseline
108       - platforms: centos
109         templates: baseline
110
111 - job-template:
112     name: builder-check-poms
113     node: centos7-java-builder-2c-8g
114
115     project-type: freestyle
116
117     properties:
118       - opendaylight-infra-properties:
119           build-days-to-keep: 14
120
121     parameters:
122       - opendaylight-infra-parameters:
123           os-cloud: '{os-cloud}'
124           project: '{project}'
125           branch: '{branch}'
126           refspec: 'refs/heads/{branch}'
127           artifacts: '{archive-artifacts}'
128
129     wrappers:
130       - opendaylight-infra-wrappers:
131           build-timeout: '{build-timeout}'
132
133     triggers:
134       - timed: 'H H * * 1'
135
136     builders:
137       - shell: !include-raw-escape: check-poms.sh
138
139     publishers:
140       - email-notification:
141           email-recipients: '{email-recipients}'
142           email-prefix: '[releng]'
143       - lf-infra-publish
144
145
146 - job-template:
147     name: 'builder-verify-image-protection'
148     project-type: freestyle
149     node: centos7-java-builder-2c-8g
150
151     properties:
152       - opendaylight-infra-properties:
153           build-days-to-keep: 7
154
155     parameters:
156       - opendaylight-infra-parameters:
157           os-cloud: '{os-cloud}'
158           project: '{project}'
159           branch: '{branch}'
160           refspec: 'refs/heads/{branch}'
161           artifacts: '{archive-artifacts}'
162
163     scm:
164       - git-scm:
165           branch: '{branch}'
166
167     wrappers:
168       - opendaylight-infra-wrappers:
169           build-timeout: '{build-timeout}'
170       # Listed after to override openstack-infra-wrappers clouds.yaml definition
171       - config-file-provider:
172           files:
173             - file-id: clouds-yaml
174               target: '$HOME/.config/openstack/clouds.yaml'
175
176     triggers:
177       - timed: '@daily'
178
179     builders:
180       - shell: !include-raw-escape:
181           - opendaylight-infra-check-image-protection.sh
182
183     publishers:
184       - email-notification:
185           email-recipients: '{email-recipients}'
186           email-prefix: '[releng]'
187       - lf-infra-publish
188
189
190 - job-template:
191     name: 'builder-cleanup-old-images'
192     project-type: freestyle
193     node: centos7-java-builder-2c-8g
194
195     properties:
196       - opendaylight-infra-properties:
197           build-days-to-keep: 7
198
199     parameters:
200       - opendaylight-infra-parameters:
201           os-cloud: '{os-cloud}'
202           project: '{project}'
203           branch: '{branch}'
204           refspec: 'refs/heads/{branch}'
205           artifacts: '{archive-artifacts}'
206
207     scm:
208       - git-scm:
209           branch: '{branch}'
210
211     wrappers:
212       - opendaylight-infra-wrappers:
213           build-timeout: '{build-timeout}'
214       # Listed after to override openstack-infra-wrappers clouds.yaml definition
215       - config-file-provider:
216           files:
217             - file-id: clouds-yaml
218               target: '$HOME/.config/openstack/clouds.yaml'
219
220     triggers:
221       # Cleanup images on a weekly schedule
222       - timed: '@weekly'
223
224     builders:
225       - shell: !include-raw-escape:
226           - global-jjb/shell/lftools-install.sh
227           - opendaylight-infra-cleanup-old-images.sh
228
229     publishers:
230       - email-notification:
231           email-recipients: '{email-recipients}'
232           email-prefix: '[releng]'
233       - lf-infra-publish
234
235
236 - job-template:
237     name: builder-delete-orphaned-nodes
238     project-type: freestyle
239     node: centos7-java-builder-2c-8g
240
241     properties:
242       - opendaylight-infra-properties:
243           build-days-to-keep: 7
244
245     parameters:
246       - opendaylight-infra-parameters:
247           os-cloud: '{os-cloud}'
248           project: '{project}'
249           branch: '{branch}'
250           refspec: 'refs/heads/{branch}'
251           artifacts: '{archive-artifacts}'
252       - string:
253           name: JENKINS_URLS
254           default: 'https://jenkins.opendaylight.org/releng https://jenkins.opendaylight.org/sandbox'
255           description: 'Space separated list of Jenkins URLs to check for active builds'
256
257     wrappers:
258       - opendaylight-infra-wrappers:
259           build-timeout: '{build-timeout}'
260
261     triggers:
262       # Attempt to clear up servers every 30 mins in case we have orphaned servers
263       - timed: '0,30 * * * *'
264
265     builders:
266       - shell: !include-raw-escape: opendaylight-infra-cleanup-orphaned-nodes.sh
267
268     publishers:
269       - email-notification:
270           email-recipients: '{email-recipients}'
271           email-prefix: '[releng]'
272       - lf-infra-publish
273
274
275 - job-template:
276     name: 'builder-delete-stale-nodes'
277     project-type: freestyle
278     node: centos7-java-builder-2c-8g
279
280     properties:
281       - opendaylight-infra-properties:
282           build-days-to-keep: 7
283
284     parameters:
285       - opendaylight-infra-parameters:
286           os-cloud: '{os-cloud}'
287           project: '{project}'
288           branch: '{branch}'
289           refspec: 'refs/heads/{branch}'
290           artifacts: '{archive-artifacts}'
291
292     wrappers:
293       - opendaylight-infra-wrappers:
294           build-timeout: '{build-timeout}'
295
296     triggers:
297       # Attempt to clear up stacks every 30 mins in case we have orphaned stacks
298       - timed: '0,30 * * * *'
299
300     builders:
301       - shell: !include-raw-escape:
302           - global-jjb/shell/lftools-install.sh
303           - opendaylight-infra-cleanup-stale-nodes.sh
304
305     publishers:
306       - email-notification:
307           email-recipients: '{email-recipients}'
308           email-prefix: '[releng]'
309       - lf-infra-publish
310
311
312 - job-template:
313     name: 'builder-delete-stale-stacks'
314     project-type: freestyle
315     node: centos7-java-builder-2c-8g
316
317     properties:
318       - opendaylight-infra-properties:
319           build-days-to-keep: 7
320
321     parameters:
322       - opendaylight-infra-parameters:
323           os-cloud: '{os-cloud}'
324           project: '{project}'
325           branch: '{branch}'
326           refspec: 'refs/heads/{branch}'
327           artifacts: '{archive-artifacts}'
328       - string:
329           name: JENKINS_URLS
330           default: 'https://jenkins.opendaylight.org/releng https://jenkins.opendaylight.org/sandbox'
331           description: 'Space separated list of Jenkins URLs to check for active builds'
332
333     wrappers:
334       - opendaylight-infra-wrappers:
335           build-timeout: '{build-timeout}'
336
337     triggers:
338       # Attempt to clear up stacks every 30 mins in case we have orphaned stacks
339       - timed: '0,30 * * * *'
340
341     builders:
342       - shell: !include-raw-escape: opendaylight-infra-cleanup-stale-stacks.sh
343
344     publishers:
345       - email-notification:
346           email-recipients: '{email-recipients}'
347           email-prefix: '[releng]'
348       - lf-infra-publish
349
350
351 - job-template:
352     name: 'builder-update-image-list'
353     project-type: freestyle
354     node: centos7-java-builder-2c-8g
355
356     properties:
357       - opendaylight-infra-properties:
358           build-days-to-keep: 7
359
360     parameters:
361       - opendaylight-infra-parameters:
362           os-cloud: vex
363           project: '{project}'
364           branch: '{branch}'
365           refspec: 'refs/heads/{branch}'
366           artifacts: '{archive-artifacts}'
367
368     scm:
369       - git-scm:
370           branch: '{branch}'
371
372     wrappers:
373       - opendaylight-infra-wrappers:
374           build-timeout: '{build-timeout}'
375       # Listed after to override openstack-infra-wrappers clouds.yaml definition
376       - config-file-provider:
377           files:
378             - file-id: clouds-yaml
379               target: '$HOME/.config/openstack/clouds.yaml'
380
381     triggers:
382       # Update image list every Monday to Friday at 11:00 UTC
383       - timed: '0 11 * * 1-5'
384
385     builders:
386       - shell: !include-raw-escape: opendaylight-infra-update-image-list.sh
387       - opendaylight-infra-push-gerrit-patch:
388           project: '{project}'
389           gerrit-topic: 'releng-update-cloud-image-list'
390           gerrit-commit-message: 'Update cloud image list docs'
391
392     publishers:
393       - email-notification:
394           email-recipients: '{email-recipients}'
395           email-prefix: '[releng]'
396       - lf-infra-publish