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