Merge "Always keep copy of RPM in build out dir"
[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-visibility'
10       - 'builder-cleanup-old-images'
11       - 'builder-delete-stale-nodes'
12       - 'builder-delete-stale-stacks'
13       # Automation for docs and jobs
14       - 'builder-update-image-list'
15
16     # The following values are only specified here
17     # so that code blocks look similar to other projects.
18     project: 'releng/builder'
19     project-name: builder
20     stream: master
21     branch: master
22     build-node: centos7-java-builder-2c-4g
23     archive-artifacts: '**/*.log'
24     build-timeout: 10
25
26 - project:
27     name: packer-jobs
28     # packer jobs templates are defined in global-jjb
29     jobs:
30       - '{project-name}-packer-jobs'
31     project: 'releng/builder'
32     project-name: builder
33     branch: master
34     archive-artifacts: '**/*.log'
35
36     platforms:
37       - centos
38       - ubuntu-14.04
39       - ubuntu-16.04
40
41     templates:
42       - devstack
43       - devstack-pre-pip-newton:
44           build-timeout: 75
45       - devstack-pre-pip-ocata:
46           build-timeout: 60
47       - devstack-pre-pip-pike:
48           build-timeout: 75
49       - docker:
50           build-timeout: 60
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: docker
84       - platforms: ubuntu-14.04
85         templates: mininet-ovs-2.5
86       - platforms: ubuntu-14.04
87         templates: mininet-ovs-2.6
88       - platforms: ubuntu-16.04
89         templates: java-builder
90       - platforms: ubuntu-16.04
91         templates: robot
92       - platforms: ubuntu-16.04
93         templates: devstack-pre-pip-newton
94       - platforms: ubuntu-16.04
95         templates: devstack-pre-pip-ocata
96       - platforms: ubuntu-16.04
97         templates: devstack-pre-pip-pike
98       - platforms: ubuntu-16.04
99         templates: devstack
100       - platforms: ubuntu-16.04
101         templates: docker
102       - platforms: ubuntu-16.04
103         templates: mininet
104       - platforms: ubuntu-16.04
105         templates: baseline
106       - platforms: centos
107         templates: baseline
108
109 - job-template:
110     name: builder-check-poms
111     node: centos7-java-builder-2c-4g
112
113     project-type: freestyle
114
115     properties:
116       - opendaylight-infra-properties:
117           build-days-to-keep: 14
118
119     parameters:
120       - opendaylight-infra-parameters:
121           os-cloud: '{os-cloud}'
122           project: '{project}'
123           branch: '{branch}'
124           refspec: 'refs/heads/{branch}'
125           artifacts: '{archive-artifacts}'
126
127     wrappers:
128       - opendaylight-infra-wrappers:
129           build-timeout: '{build-timeout}'
130
131     triggers:
132       - timed: 'H H * * 1'
133
134     builders:
135       - shell: !include-raw-escape: check-poms.sh
136
137     publishers:
138       - email-notification:
139           email-recipients: '{email-recipients}'
140           email-prefix: '[releng]'
141       - lf-infra-publish
142
143
144 - job-template:
145     name: 'builder-verify-image-visibility'
146     project-type: freestyle
147     node: centos7-java-builder-2c-4g
148
149     os-cloud: 'odlpriv-sandbox'
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: opendaylight-private-clouds-yaml
174               target: '$HOME/.config/openstack/clouds.yaml'
175
176     triggers:
177       # Check images visibility on a daily schedule
178       - timed: '@daily'
179
180     builders:
181       - shell: !include-raw-escape:
182           - opendaylight-infra-check-image-visibility.sh
183
184     publishers:
185       - email-notification:
186           email-recipients: '{email-recipients}'
187           email-prefix: '[releng]'
188       - lf-infra-publish
189
190
191 - job-template:
192     name: 'builder-cleanup-old-images'
193     project-type: freestyle
194     node: centos7-java-builder-2c-4g
195
196     properties:
197       - opendaylight-infra-properties:
198           build-days-to-keep: 7
199
200     parameters:
201       - opendaylight-infra-parameters:
202           os-cloud: '{os-cloud}'
203           project: '{project}'
204           branch: '{branch}'
205           refspec: 'refs/heads/{branch}'
206           artifacts: '{archive-artifacts}'
207
208     scm:
209       - git-scm:
210           branch: '{branch}'
211
212     wrappers:
213       - opendaylight-infra-wrappers:
214           build-timeout: '{build-timeout}'
215       # Listed after to override openstack-infra-wrappers clouds.yaml definition
216       - config-file-provider:
217           files:
218             - file-id: opendaylight-private-clouds-yaml
219               target: '$HOME/.config/openstack/clouds.yaml'
220
221     triggers:
222       # Cleanup images on a weekly schedule
223       - timed: '@weekly'
224
225     builders:
226       - shell: !include-raw-escape:
227           - global-jjb/shell/lftools-install.sh
228           - opendaylight-infra-cleanup-old-images.sh
229
230     publishers:
231       - email-notification:
232           email-recipients: '{email-recipients}'
233           email-prefix: '[releng]'
234       - lf-infra-publish
235
236
237 - job-template:
238     name: 'builder-delete-stale-nodes'
239     project-type: freestyle
240     node: centos7-java-builder-2c-4g
241
242     properties:
243       - opendaylight-infra-properties:
244           build-days-to-keep: 7
245
246     parameters:
247       - opendaylight-infra-parameters:
248           os-cloud: '{os-cloud}'
249           project: '{project}'
250           branch: '{branch}'
251           refspec: 'refs/heads/{branch}'
252           artifacts: '{archive-artifacts}'
253
254     wrappers:
255       - opendaylight-infra-wrappers:
256           build-timeout: '{build-timeout}'
257
258     triggers:
259       # Attempt to clear up stacks every 30 mins in case we have orphaned stacks
260       - timed: '0,30 * * * *'
261
262     builders:
263       - shell: !include-raw-escape:
264           - global-jjb/shell/lftools-install.sh
265           - opendaylight-infra-cleanup-stale-nodes.sh
266
267     publishers:
268       - email-notification:
269           email-recipients: '{email-recipients}'
270           email-prefix: '[releng]'
271       - lf-infra-publish
272
273
274 - job-template:
275     name: 'builder-delete-stale-stacks'
276     project-type: freestyle
277     node: centos7-java-builder-2c-4g
278
279     properties:
280       - opendaylight-infra-properties:
281           build-days-to-keep: 7
282
283     parameters:
284       - opendaylight-infra-parameters:
285           os-cloud: '{os-cloud}'
286           project: '{project}'
287           branch: '{branch}'
288           refspec: 'refs/heads/{branch}'
289           artifacts: '{archive-artifacts}'
290
291     wrappers:
292       - opendaylight-infra-wrappers:
293           build-timeout: '{build-timeout}'
294
295     triggers:
296       # Attempt to clear up stacks every 30 mins in case we have orphaned stacks
297       - timed: '0,30 * * * *'
298
299     builders:
300       - shell: !include-raw-escape: opendaylight-infra-cleanup-stale-stacks.sh
301
302     publishers:
303       - email-notification:
304           email-recipients: '{email-recipients}'
305           email-prefix: '[releng]'
306       - lf-infra-publish
307
308
309 - job-template:
310     name: 'builder-update-image-list'
311     project-type: freestyle
312     node: centos7-java-builder-2c-4g
313
314     properties:
315       - opendaylight-infra-properties:
316           build-days-to-keep: 7
317
318     parameters:
319       - opendaylight-infra-parameters:
320           os-cloud: odlpriv
321           project: '{project}'
322           branch: '{branch}'
323           refspec: 'refs/heads/{branch}'
324           artifacts: '{archive-artifacts}'
325
326     scm:
327       - git-scm:
328           branch: '{branch}'
329
330     wrappers:
331       - opendaylight-infra-wrappers:
332           build-timeout: '{build-timeout}'
333       # Listed after to override openstack-infra-wrappers clouds.yaml definition
334       - config-file-provider:
335           files:
336             - file-id: opendaylight-private-clouds-yaml
337               target: '$HOME/.config/openstack/clouds.yaml'
338
339     triggers:
340       # Update image list every Monday to Friday at 11:00 UTC
341       - timed: '0 11 * * 1-5'
342
343     builders:
344       - shell: !include-raw-escape: opendaylight-infra-update-image-list.sh
345       - opendaylight-infra-push-gerrit-patch:
346           project: '{project}'
347           gerrit-topic: 'releng-update-cloud-image-list'
348           gerrit-commit-message: 'Update cloud image list docs'
349
350     publishers:
351       - email-notification:
352           email-recipients: '{email-recipients}'
353           email-prefix: '[releng]'
354       - lf-infra-publish