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