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