9ba8e15bd7355fb38a8ccbff376fc997a9e67d6b
[releng/builder.git] / jjb / releng-jobs.yaml
1 ---
2 - project:
3     name: builder-jobs
4     jobs:
5       - '{project-name}-ci-jobs'
6       - '{project-name}-verify-tox-{stream}'
7       - 'builder-check-poms'
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       - gbp
51       - java-builder:
52           build-timeout: 75
53       - mininet
54       - mininet-ovs-2.5:
55           build-timeout: 60
56       - mininet-ovs-2.6:
57           build-timeout: 75
58       - robot
59
60     exclude:
61       - platforms: centos
62         templates: gbp
63       - platforms: centos
64         templates: mininet
65       - platforms: centos
66         templates: mininet-ovs-2.5
67       - platforms: centos
68         templates: mininet-ovs-2.6
69       - platforms: ubuntu-14.04
70         templates: java-builder
71       - platforms: ubuntu-14.04
72         templates: robot
73       - platforms: ubuntu-14.04
74         templates: devstack-pre-pip-newton
75       - platforms: ubuntu-14.04
76         templates: devstack-pre-pip-ocata
77       - platforms: ubuntu-14.04
78         templates: devstack-pre-pip-pike
79       - platforms: ubuntu-14.04
80         templates: devstack
81       - platforms: ubuntu-14.04
82         templates: docker
83       - platforms: ubuntu-14.04
84         templates: mininet-ovs-2.5
85       - platforms: ubuntu-14.04
86         templates: mininet-ovs-2.6
87       - platforms: ubuntu-16.04
88         templates: java-builder
89       - platforms: ubuntu-16.04
90         templates: robot
91       - platforms: ubuntu-16.04
92         templates: devstack-pre-pip-newton
93       - platforms: ubuntu-16.04
94         templates: devstack-pre-pip-ocata
95       - platforms: ubuntu-16.04
96         templates: devstack
97       - platforms: ubuntu-16.04
98         templates: docker
99       - platforms: ubuntu-16.04
100         templates: mininet
101       - platforms: ubuntu-16.04
102         templates: gbp
103       - platforms: ubuntu-16.04
104         templates: baseline
105       - platforms: centos
106         templates: baseline
107
108 - job-template:
109     name: builder-check-poms
110     node: centos7-java-builder-2c-4g
111
112     project-type: freestyle
113
114     properties:
115       - opendaylight-infra-properties:
116           build-days-to-keep: 14
117
118     parameters:
119       - opendaylight-infra-parameters:
120           os-cloud: '{os-cloud}'
121           project: '{project}'
122           branch: '{branch}'
123           refspec: 'refs/heads/{branch}'
124           artifacts: '{archive-artifacts}'
125
126     wrappers:
127       - opendaylight-infra-wrappers:
128           build-timeout: '{build-timeout}'
129
130     triggers:
131       - timed: 'H H * * 1'
132
133     builders:
134       - shell: !include-raw-escape: check-poms.sh
135
136     publishers:
137       - email-notification:
138           email-recipients: '{email-recipients}'
139           email-prefix: '[releng]'
140       - lf-infra-publish
141
142
143 - job-template:
144     name: 'builder-verify-image-visibility'
145     project-type: freestyle
146     node: centos7-java-builder-2c-4g
147
148     os-cloud: 'odlpriv-sandbox'
149
150     properties:
151       - opendaylight-infra-properties:
152           build-days-to-keep: 7
153
154     parameters:
155       - opendaylight-infra-parameters:
156           os-cloud: '{os-cloud}'
157           project: '{project}'
158           branch: '{branch}'
159           refspec: 'refs/heads/{branch}'
160           artifacts: '{archive-artifacts}'
161
162     scm:
163       - git-scm:
164           branch: '{branch}'
165
166     wrappers:
167       - opendaylight-infra-wrappers:
168           build-timeout: '{build-timeout}'
169       # Listed after to override openstack-infra-wrappers clouds.yaml definition
170       - config-file-provider:
171           files:
172             - file-id: opendaylight-private-clouds-yaml
173               target: '$HOME/.config/openstack/clouds.yaml'
174
175     triggers:
176       # Check images visibility on a daily schedule
177       - timed: '@daily'
178
179     builders:
180       - shell: !include-raw-escape:
181           - opendaylight-infra-check-image-visibility.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-4g
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: opendaylight-private-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-stale-nodes'
238     project-type: freestyle
239     node: centos7-java-builder-2c-4g
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
253     wrappers:
254       - opendaylight-infra-wrappers:
255           build-timeout: '{build-timeout}'
256
257     triggers:
258       # Attempt to clear up stacks every 30 mins in case we have orphaned stacks
259       - timed: '0,30 * * * *'
260
261     builders:
262       - shell: !include-raw-escape:
263           - global-jjb/shell/lftools-install.sh
264           - opendaylight-infra-cleanup-stale-nodes.sh
265
266     publishers:
267       - email-notification:
268           email-recipients: '{email-recipients}'
269           email-prefix: '[releng]'
270       - lf-infra-publish
271
272
273 - job-template:
274     name: 'builder-delete-stale-stacks'
275     project-type: freestyle
276     node: centos7-java-builder-2c-4g
277
278     properties:
279       - opendaylight-infra-properties:
280           build-days-to-keep: 7
281
282     parameters:
283       - opendaylight-infra-parameters:
284           os-cloud: '{os-cloud}'
285           project: '{project}'
286           branch: '{branch}'
287           refspec: 'refs/heads/{branch}'
288           artifacts: '{archive-artifacts}'
289
290     wrappers:
291       - opendaylight-infra-wrappers:
292           build-timeout: '{build-timeout}'
293
294     triggers:
295       # Attempt to clear up stacks every 30 mins in case we have orphaned stacks
296       - timed: '0,30 * * * *'
297
298     builders:
299       - shell: !include-raw-escape: opendaylight-infra-cleanup-stale-stacks.sh
300
301     publishers:
302       - email-notification:
303           email-recipients: '{email-recipients}'
304           email-prefix: '[releng]'
305       - lf-infra-publish
306
307
308 - job-template:
309     name: 'builder-update-image-list'
310     project-type: freestyle
311     node: centos7-java-builder-2c-4g
312
313     properties:
314       - opendaylight-infra-properties:
315           build-days-to-keep: 7
316
317     parameters:
318       - opendaylight-infra-parameters:
319           os-cloud: odlpriv
320           project: '{project}'
321           branch: '{branch}'
322           refspec: 'refs/heads/{branch}'
323           artifacts: '{archive-artifacts}'
324
325     scm:
326       - git-scm:
327           branch: '{branch}'
328
329     wrappers:
330       - opendaylight-infra-wrappers:
331           build-timeout: '{build-timeout}'
332       # Listed after to override openstack-infra-wrappers clouds.yaml definition
333       - config-file-provider:
334           files:
335             - file-id: opendaylight-private-clouds-yaml
336               target: '$HOME/.config/openstack/clouds.yaml'
337
338     triggers:
339       # Update image list every Monday to Friday at 11:00 UTC
340       - timed: '0 11 * * 1-5'
341
342     builders:
343       - shell: !include-raw-escape: opendaylight-infra-update-image-list.sh
344       - opendaylight-infra-push-gerrit-patch:
345           project: '{project}'
346           gerrit-topic: 'releng-update-cloud-image-list'
347           gerrit-commit-message: 'Update cloud image list docs'
348
349     publishers:
350       - email-notification:
351           email-recipients: '{email-recipients}'
352           email-prefix: '[releng]'
353       - lf-infra-publish