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