Merge "Add jenkins option to set custom debug levels"
[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-cleanup-old-images'
10       - 'builder-delete-stale-nodes'
11       - 'builder-delete-stale-stacks'
12       # Automation for docs and jobs
13       - 'builder-update-image-list'
14
15     # The following values are only specified here
16     # so that code blocks look similar to other projects.
17     project: 'releng/builder'
18     project-name: builder
19     stream: master
20     branch: master
21     build-node: centos7-java-builder-2c-4g
22     archive-artifacts: '**/*.log'
23     build-timeout: 10
24
25 - project:
26     name: packer-jobs
27     # packer jobs templates are defined in global-jjb
28     jobs:
29       - '{project-name}-packer-jobs'
30     project: 'releng/builder'
31     project-name: builder
32     branch: master
33     archive-artifacts: '**/*.log'
34
35     platforms:
36       - centos
37       - ubuntu-14.04
38       - ubuntu-16.04
39
40     templates:
41       - devstack
42       - devstack-pre-pip-newton:
43           build-timeout: 75
44       - devstack-pre-pip-ocata:
45           build-timeout: 60
46       - docker
47       - gbp
48       - java-builder:
49           build-timeout: 75
50       - mininet
51       - mininet-ovs-2.5:
52           build-timeout: 60
53       - mininet-ovs-2.6:
54           build-timeout: 75
55       - robot
56
57     exclude:
58       - platforms: centos
59         templates: gbp
60       - platforms: centos
61         templates: mininet
62       - platforms: centos
63         templates: mininet-ovs-2.5
64       - platforms: ubuntu-14.04
65         templates: java-builder
66       - platforms: ubuntu-14.04
67         templates: robot
68       - platforms: ubuntu-14.04
69         templates: devstack-pre-pip-newton
70       - platforms: ubuntu-14.04
71         templates: devstack-pre-pip-ocata
72       - platforms: ubuntu-14.04
73         templates: devstack
74       - platforms: ubuntu-14.04
75         templates: docker
76       - platforms: ubuntu-14.04
77         templates: mininet-ovs-2.5
78       - platforms: ubuntu-16.04
79         templates: java-builder
80       - platforms: ubuntu-16.04
81         templates: robot
82       - platforms: ubuntu-16.04
83         templates: devstack-pre-pip-newton
84       - platforms: ubuntu-16.04
85         templates: devstack-pre-pip-ocata
86       - platforms: ubuntu-16.04
87         templates: devstack
88       - platforms: ubuntu-16.04
89         templates: docker
90       - platforms: ubuntu-16.04
91         templates: mininet
92       - platforms: ubuntu-16.04
93         templates: gbp
94       - platforms: ubuntu-16.04
95         templates: baseline
96       - platforms: centos
97         templates: baseline
98
99 - job-template:
100     name: builder-check-poms
101     node: centos7-java-builder-2c-4g
102
103     project-type: freestyle
104
105     properties:
106       - opendaylight-infra-properties:
107           build-days-to-keep: 14
108
109     parameters:
110       - opendaylight-infra-parameters:
111           os-cloud: '{os-cloud}'
112           project: '{project}'
113           branch: '{branch}'
114           refspec: 'refs/heads/{branch}'
115           artifacts: '{archive-artifacts}'
116
117     wrappers:
118       - opendaylight-infra-wrappers:
119           build-timeout: '{build-timeout}'
120
121     triggers:
122       - timed: 'H H * * 1'
123
124     builders:
125       - shell: !include-raw-escape: check-poms.sh
126
127     publishers:
128       - email-notification:
129           email-recipients: '{email-recipients}'
130           email-prefix: '[releng]'
131       - lf-infra-publish
132
133
134 - job-template:
135     name: 'builder-cleanup-old-images'
136     project-type: freestyle
137     node: centos7-java-builder-2c-4g
138
139     properties:
140       - opendaylight-infra-properties:
141           build-days-to-keep: 7
142
143     parameters:
144       - opendaylight-infra-parameters:
145           os-cloud: '{os-cloud}'
146           project: '{project}'
147           branch: '{branch}'
148           refspec: 'refs/heads/{branch}'
149           artifacts: '{archive-artifacts}'
150
151     scm:
152       - git-scm:
153           branch: '{branch}'
154
155     wrappers:
156       - opendaylight-infra-wrappers:
157           build-timeout: '{build-timeout}'
158       # Listed after to override openstack-infra-wrappers clouds.yaml definition
159       - config-file-provider:
160           files:
161             - file-id: opendaylight-private-clouds-yaml
162               target: '$HOME/.config/openstack/clouds.yaml'
163
164     triggers:
165       # Cleanup images on a weekly schedule
166       - timed: '@weekly'
167
168     builders:
169       - shell: !include-raw-escape:
170           - global-jjb/shell/lftools-install.sh
171           - opendaylight-infra-cleanup-old-images.sh
172
173     publishers:
174       - email-notification:
175           email-recipients: '{email-recipients}'
176           email-prefix: '[releng]'
177       - lf-infra-publish
178
179
180 - job-template:
181     name: 'builder-delete-stale-nodes'
182     project-type: freestyle
183     node: centos7-java-builder-2c-4g
184
185     properties:
186       - opendaylight-infra-properties:
187           build-days-to-keep: 7
188
189     parameters:
190       - opendaylight-infra-parameters:
191           os-cloud: '{os-cloud}'
192           project: '{project}'
193           branch: '{branch}'
194           refspec: 'refs/heads/{branch}'
195           artifacts: '{archive-artifacts}'
196
197     wrappers:
198       - opendaylight-infra-wrappers:
199           build-timeout: '{build-timeout}'
200
201     triggers:
202       # Attempt to clear up stacks every 30 mins in case we have orphaned stacks
203       - timed: '0,30 * * * *'
204
205     builders:
206       - shell: !include-raw-escape:
207           - global-jjb/shell/lftools-install.sh
208           - opendaylight-infra-cleanup-stale-nodes.sh
209
210     publishers:
211       - email-notification:
212           email-recipients: '{email-recipients}'
213           email-prefix: '[releng]'
214       - lf-infra-publish
215
216
217 - job-template:
218     name: 'builder-delete-stale-stacks'
219     project-type: freestyle
220     node: centos7-java-builder-2c-4g
221
222     properties:
223       - opendaylight-infra-properties:
224           build-days-to-keep: 7
225
226     parameters:
227       - opendaylight-infra-parameters:
228           os-cloud: '{os-cloud}'
229           project: '{project}'
230           branch: '{branch}'
231           refspec: 'refs/heads/{branch}'
232           artifacts: '{archive-artifacts}'
233
234     wrappers:
235       - opendaylight-infra-wrappers:
236           build-timeout: '{build-timeout}'
237
238     triggers:
239       # Attempt to clear up stacks every 30 mins in case we have orphaned stacks
240       - timed: '0,30 * * * *'
241
242     builders:
243       - shell: !include-raw-escape: opendaylight-infra-cleanup-stale-stacks.sh
244
245     publishers:
246       - email-notification:
247           email-recipients: '{email-recipients}'
248           email-prefix: '[releng]'
249       - lf-infra-publish
250
251
252 - job-template:
253     name: 'builder-update-image-list'
254     project-type: freestyle
255     node: centos7-java-builder-2c-4g
256
257     properties:
258       - opendaylight-infra-properties:
259           build-days-to-keep: 7
260
261     parameters:
262       - opendaylight-infra-parameters:
263           os-cloud: odlpriv
264           project: '{project}'
265           branch: '{branch}'
266           refspec: 'refs/heads/{branch}'
267           artifacts: '{archive-artifacts}'
268
269     scm:
270       - git-scm:
271           branch: '{branch}'
272
273     wrappers:
274       - opendaylight-infra-wrappers:
275           build-timeout: '{build-timeout}'
276       # Listed after to override openstack-infra-wrappers clouds.yaml definition
277       - config-file-provider:
278           files:
279             - file-id: opendaylight-private-clouds-yaml
280               target: '$HOME/.config/openstack/clouds.yaml'
281
282     triggers:
283       # Update image list every Monday to Friday at 11:00 UTC
284       - timed: '0 11 * * 1-5'
285
286     builders:
287       - shell: !include-raw-escape: opendaylight-infra-update-image-list.sh
288       - opendaylight-infra-push-gerrit-patch:
289           project: '{project}'
290           gerrit-topic: 'releng-update-cloud-image-list'
291           gerrit-commit-message: 'Update cloud image list docs'
292
293     publishers:
294       - email-notification:
295           email-recipients: '{email-recipients}'
296           email-prefix: '[releng]'
297       - lf-infra-publish