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