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