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