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