Merge "Decommission Openstack Newton images"
[releng/builder.git] / jjb / releng-jobs.yaml
1 ---
2 - project:
3     name: builder-jobs
4     jobs:
5       - '{project-name}-rtd-jobs':
6           project-pattern: releng/builder
7           rtd-project: opendaylight-releng-builder
8       - gerrit-jenkins-cfg-merge:
9           jenkins-silos: releng sandbox
10       - gerrit-jjb-deploy-job
11       - gerrit-jjb-merge:
12           build-node: centos7-builder-4c-4g
13           build-timeout: 90
14       - gerrit-jjb-verify
15       - builder-check-poms
16       - builder-copy-sandbox-logs
17       - builder-openstack-cron
18       - gerrit-tox-verify
19       # Automation for docs and jobs
20       - 'builder-update-image-list'
21
22     # The following values are only specified here
23     # so that code blocks look similar to other projects.
24     project: 'releng/builder'
25     project-name: builder
26     stream: master
27     branch: master
28     build-node: centos7-builder-2c-2g
29     archive-artifacts: '**/*.log'
30     build-timeout: 30
31     jjb-version: 2.0.0
32     jenkins-urls: >
33       https://jenkins.opendaylight.org/releng
34       https://jenkins.opendaylight.org/sandbox
35
36 - project:
37     name: packer-jobs
38     # packer jobs templates are defined in global-jjb
39     jobs:
40       - '{project-name}-packer-jobs'
41     project: 'releng/builder'
42     project-name: builder
43     branch: master
44     archive-artifacts: '**/*.log'
45     build-node: centos7-builder-2c-1g
46
47     platforms:
48       - centos
49       - ubuntu-14.04
50       - ubuntu-16.04
51
52     templates:
53       - devstack
54       - devstack-pre-pip-ocata:
55           build-timeout: 75
56       - devstack-pre-pip-pike:
57           build-timeout: 75
58       - gbp
59       - mininet-ovs-2.5:
60           build-timeout: 60
61       - mininet-ovs-2.6:
62           build-timeout: 75
63
64     exclude:
65       - platforms: centos
66         templates: gbp
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: devstack-pre-pip-ocata
73       - platforms: ubuntu-14.04
74         templates: devstack-pre-pip-pike
75       - platforms: ubuntu-14.04
76         templates: devstack
77       - platforms: ubuntu-14.04
78         templates: mininet-ovs-2.5
79       - platforms: ubuntu-14.04
80         templates: mininet-ovs-2.6
81       - platforms: ubuntu-16.04
82         templates: devstack-pre-pip-ocata
83       - platforms: ubuntu-16.04
84         templates: devstack-pre-pip-pike
85       - platforms: ubuntu-16.04
86         templates: devstack
87
88 - job-template:
89     name: builder-check-poms
90     node: centos7-builder-2c-1g
91
92     project-type: freestyle
93
94     properties:
95       - opendaylight-infra-properties:
96           build-days-to-keep: 14
97
98     parameters:
99       - opendaylight-infra-parameters:
100           os-cloud: '{os-cloud}'
101           project: '{project}'
102           branch: '{branch}'
103           refspec: 'refs/heads/{branch}'
104           artifacts: '{archive-artifacts}'
105
106     wrappers:
107       - opendaylight-infra-wrappers:
108           build-timeout: '{build-timeout}'
109
110     triggers:
111       - timed: 'H H * * 1'
112
113     builders:
114       - shell: !include-raw-escape: check-poms.sh
115
116     publishers:
117       - email-notification:
118           email-recipients: '{email-recipients}'
119           email-prefix: '[releng]'
120       - lf-infra-publish
121
122 - job-template:
123     name: builder-copy-sandbox-logs
124     node: centos7-builder-2c-1g
125
126     project-type: freestyle
127
128     properties:
129       - opendaylight-infra-properties:
130           build-days-to-keep: 1
131
132     parameters:
133       - opendaylight-infra-parameters:
134           os-cloud: ''
135           project: ''
136           branch: ''
137           refspec: ''
138           artifacts: ''
139
140     wrappers:
141       - opendaylight-infra-wrappers:
142           build-timeout: 10
143
144     triggers:
145       - gerrit:
146           server-name: '{gerrit-server-name}'
147           trigger-on:
148             - comment-added-contains-event:
149                 comment-contains-value: 'copy-logs:'
150           projects:
151             - project-compare-type: ANT
152               project-pattern: '**'
153               branches:
154                 - branch-compare-type: ANT
155                   branch-pattern: '**'
156
157     builders:
158       - shell: !include-raw-escape: copy-sandbox-logs.sh
159
160     publishers:
161       - lf-infra-publish
162
163
164 - job-template:
165     name: builder-openstack-cron
166     project-type: freestyle
167     node: '{build-node}'
168
169     properties:
170       - lf-infra-properties:
171           build-days-to-keep: 7
172
173     parameters:
174       - lf-infra-parameters:
175           project: '{project}'
176           stream: '{stream}'
177           branch: '{branch}'
178           lftools-version: '{lftools-version}'
179       - string:
180           name: OS_CLOUD
181           default: '{os-cloud}'
182           description: Artifacts to archive to the logs server.
183       - string:
184           name: ARCHIVE_ARTIFACTS
185           default: '{archive-artifacts}'
186           description: Artifacts to archive to the logs server.
187       - string:
188           name: JENKINS_URLS
189           default: '{jenkins-urls}'
190           description: 'Space separated list of Jenkins URLs to check for active builds'
191
192     scm:
193       - git-scm:
194           branch: '{branch}'
195
196     wrappers:
197       - lf-infra-wrappers:
198           build-timeout: '{build-timeout}'
199           jenkins-ssh-credential: '{jenkins-ssh-credential}'
200       # Listed after to override openstack-infra-wrappers clouds.yaml definition
201       - config-file-provider:
202           files:
203             - file-id: clouds-yaml
204               target: '$HOME/.config/openstack/clouds.yaml'
205
206     triggers:
207       - timed: '0,30 * * * *'
208
209     builders:
210       - odl-openstack-install
211       - shell: !include-raw-escape: global-jjb/shell/lftools-install.sh
212       # Servers
213       - odl-openstack-cleanup-stale-stacks
214       - odl-openstack-cleanup-stale-nodes
215       - odl-openstack-cleanup-orphaned-nodes
216       # Images
217       - odl-openstack-check-image-protection
218       - odl-openstack-cleanup-old-images
219
220     publishers:
221       - lf-infra-publish
222
223 - job-template:
224     name: 'builder-update-image-list'
225     project-type: freestyle
226     node: centos7-builder-2c-1g
227
228     properties:
229       - opendaylight-infra-properties:
230           build-days-to-keep: 7
231
232     parameters:
233       - opendaylight-infra-parameters:
234           os-cloud: vex
235           project: '{project}'
236           branch: '{branch}'
237           refspec: 'refs/heads/{branch}'
238           artifacts: '{archive-artifacts}'
239
240     scm:
241       - git-scm:
242           branch: '{branch}'
243
244     wrappers:
245       - opendaylight-infra-wrappers:
246           build-timeout: '{build-timeout}'
247       # Listed after to override openstack-infra-wrappers clouds.yaml definition
248       - config-file-provider:
249           files:
250             - file-id: clouds-yaml
251               target: '$HOME/.config/openstack/clouds.yaml'
252
253     triggers:
254       # Update image list every Monday to Friday at 11:00 UTC
255       - timed: '0 11 * * 1-5'
256
257     builders:
258       - shell: !include-raw-escape: opendaylight-infra-update-image-list.sh
259       - opendaylight-infra-push-gerrit-patch:
260           project: '{project}'
261           gerrit-topic: 'releng-update-cloud-image-list'
262           gerrit-commit-message: 'Update cloud image list docs'
263
264     publishers:
265       - email-notification:
266           email-recipients: '{email-recipients}'
267           email-prefix: '[releng]'
268       - lf-infra-publish