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