Merge "Add Documentation for OVSDB"
[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       - centos
50       - ubuntu-14.04
51       - ubuntu-16.04
52
53     templates:
54       - devstack
55       - devstack-pre-pip-ocata:
56           build-timeout: 75
57       - devstack-pre-pip-pike:
58           build-timeout: 75
59       - gbp
60       - mininet-ovs-2.5:
61           build-timeout: 60
62       - mininet-ovs-2.6:
63           build-timeout: 75
64
65     exclude:
66       - platforms: centos
67         templates: gbp
68       - platforms: centos
69         templates: mininet-ovs-2.5
70       - platforms: centos
71         templates: mininet-ovs-2.6
72       - platforms: ubuntu-14.04
73         templates: devstack-pre-pip-ocata
74       - platforms: ubuntu-14.04
75         templates: devstack-pre-pip-pike
76       - platforms: ubuntu-14.04
77         templates: devstack
78       - platforms: ubuntu-14.04
79         templates: mininet-ovs-2.5
80       - platforms: ubuntu-14.04
81         templates: mininet-ovs-2.6
82       - platforms: ubuntu-16.04
83         templates: devstack-pre-pip-ocata
84       - platforms: ubuntu-16.04
85         templates: devstack-pre-pip-pike
86       - platforms: ubuntu-16.04
87         templates: devstack
88
89 - job-template:
90     name: builder-check-poms
91     node: centos7-builder-2c-1g
92
93     project-type: freestyle
94
95     properties:
96       - opendaylight-infra-properties:
97           build-days-to-keep: 14
98
99     parameters:
100       - opendaylight-infra-parameters:
101           os-cloud: '{os-cloud}'
102           project: '{project}'
103           branch: '{branch}'
104           refspec: 'refs/heads/{branch}'
105           artifacts: '{archive-artifacts}'
106
107     wrappers:
108       - opendaylight-infra-wrappers:
109           build-timeout: '{build-timeout}'
110
111     triggers:
112       - timed: 'H H * * 1'
113
114     builders:
115       - shell: !include-raw-escape: check-poms.sh
116
117     publishers:
118       - email-notification:
119           email-recipients: '{email-recipients}'
120           email-prefix: '[releng]'
121       - lf-infra-publish
122
123 - job-template:
124     name: builder-copy-sandbox-logs
125     node: centos7-builder-2c-1g
126
127     project-type: freestyle
128
129     properties:
130       - opendaylight-infra-properties:
131           build-days-to-keep: 1
132
133     parameters:
134       - opendaylight-infra-parameters:
135           os-cloud: ''
136           project: ''
137           branch: ''
138           refspec: ''
139           artifacts: ''
140
141     wrappers:
142       - opendaylight-infra-wrappers:
143           build-timeout: 10
144
145     triggers:
146       - gerrit:
147           server-name: '{gerrit-server-name}'
148           trigger-on:
149             - comment-added-contains-event:
150                 comment-contains-value: 'copy-logs:'
151           projects:
152             - project-compare-type: ANT
153               project-pattern: '**'
154               branches:
155                 - branch-compare-type: ANT
156                   branch-pattern: '**'
157
158     builders:
159       - shell: !include-raw-escape: copy-sandbox-logs.sh
160
161     publishers:
162       - lf-infra-publish
163
164
165 - job-template:
166     name: builder-openstack-cron
167     project-type: freestyle
168     node: '{build-node}'
169     concurrent: true
170
171     properties:
172       - lf-infra-properties:
173           build-days-to-keep: 7
174
175     parameters:
176       - lf-infra-parameters:
177           project: '{project}'
178           stream: '{stream}'
179           branch: '{branch}'
180           lftools-version: '{lftools-version}'
181       - string:
182           name: OS_CLOUD
183           default: '{os-cloud}'
184           description: |
185               The name of a cloud configuration in clouds.yaml. OS_CLOUD is a
186               variable name that is significant to openstack client as a
187               environment variable. Please refer to the documentation for
188               further details.
189               https://docs.openstack.org/developer/python-openstackclient/
190       - string:
191           name: ARCHIVE_ARTIFACTS
192           default: '{archive-artifacts}'
193           description: Artifacts to archive to the logs server.
194       - string:
195           name: JENKINS_URLS
196           default: '{jenkins-urls}'
197           description: 'Space separated list of Jenkins URLs to check for active builds'
198
199     scm:
200       - git-scm:
201           branch: '{branch}'
202
203     wrappers:
204       - lf-infra-wrappers:
205           build-timeout: '{build-timeout}'
206           jenkins-ssh-credential: '{jenkins-ssh-credential}'
207       # Listed after to override openstack-infra-wrappers clouds.yaml definition
208       - config-file-provider:
209           files:
210             - file-id: clouds-yaml
211               target: '$HOME/.config/openstack/clouds.yaml'
212             - file-id: npmrc
213               target: '$HOME/.npmrc'
214             - file-id: pipconf
215               target: '$HOME/.config/pip/pip.conf'
216
217     triggers:
218       - timed: '0,30 * * * *'
219
220     builders:
221       - odl-openstack-install
222       # Servers
223       - odl-openstack-cleanup-stale-stacks
224       - odl-openstack-cleanup-stale-nodes
225       - odl-openstack-cleanup-orphaned-nodes
226       # Volumes
227       - odl-openstack-cleanup-stale-volumes
228       # Images
229       - odl-openstack-check-image-protection
230       - odl-openstack-cleanup-old-images
231
232     publishers:
233       - lf-infra-publish
234
235 - job-template:
236     name: 'builder-update-image-list'
237     project-type: freestyle
238     node: centos7-builder-2c-1g
239
240     properties:
241       - opendaylight-infra-properties:
242           build-days-to-keep: 7
243
244     parameters:
245       - opendaylight-infra-parameters:
246           os-cloud: vex
247           project: '{project}'
248           branch: '{branch}'
249           refspec: 'refs/heads/{branch}'
250           artifacts: '{archive-artifacts}'
251
252     scm:
253       - git-scm:
254           branch: '{branch}'
255
256     wrappers:
257       - opendaylight-infra-wrappers:
258           build-timeout: '{build-timeout}'
259       # Listed after to override openstack-infra-wrappers clouds.yaml definition
260       - config-file-provider:
261           files:
262             - file-id: clouds-yaml
263               target: '$HOME/.config/openstack/clouds.yaml'
264
265     triggers:
266       # Update image list every Monday to Friday at 11:00 UTC
267       - timed: '0 11 * * 1-5'
268
269     builders:
270       - shell: !include-raw-escape: opendaylight-infra-update-image-list.sh
271       - lf-infra-push-gerrit-patch:
272           project: '{project}'
273           gerrit-user: 'jenkins-$SILO'
274           gerrit-host: 'git.opendaylight.org'
275           gerrit-topic: 'releng-update-cloud-image-list'
276           gerrit-commit-message: 'Update cloud image list docs'
277           reviewers-email: 'jluhrsen@redhat.com'
278
279     publishers:
280       - email-notification:
281           email-recipients: '{email-recipients}'
282           email-prefix: '[releng]'
283       - lf-infra-publish