61295cb4e53390875da8a2051b862f0cf072b26e
[releng/builder.git] / jjb / releng-jobs.yaml
1 - project:
2     name: builder-jobs
3     jobs:
4         - 'builder-verify-jjb'
5         - 'builder-verify-python'
6         - 'builder-merge'
7         - 'builder-weekly'
8         - 'builder-check-poms'
9         - 'builder-verify-packer-{platforms}-{templates}'
10         - 'builder-merge-packer-{platforms}-{templates}'
11
12     platforms:
13         - centos
14         - ubuntu-14.04
15
16     templates:
17         - devstack
18         - docker
19         - gbp
20         - java-builder
21         - mininet
22         - mininet-ovs-2.3
23         - mininet-ovs-2.5
24         - robot
25
26     exclude:
27         - platforms: centos
28           templates: gbp
29         - platforms: centos
30           templates: mininet
31         - platforms: centos
32           templates: mininet-ovs-2.3
33         - platforms: centos
34           templates: mininet-ovs-2.5
35         - platforms: ubuntu-14.04
36           templates: java-builder
37         - platforms: centos
38           templates: gbp
39
40     project-type: freestyle
41     archive-artifacts: '**/*.log'
42     project: 'releng/builder'
43     build-timeout: '60'
44
45 - job-template:
46     name: builder-verify-jjb
47     node: jjbuilder
48
49     project-type: freestyle
50
51     logrotate:
52         daysToKeep: 14
53
54     parameters:
55         - opendaylight-infra-parameters:
56             project: '{project}'
57             branch: 'master'
58             refspec: 'refs/heads/master'
59             artifacts: '{archive-artifacts}'
60
61     scm:
62         - gerrit-trigger-scm:
63             refspec: '$GERRIT_REFSPEC'
64             choosing-strategy: 'gerrit'
65
66     wrappers:
67         - opendaylight-infra-wrappers:
68             build-timeout: '{build-timeout}'
69
70     triggers:
71         - gerrit:
72             server-name: 'OpenDaylight'
73             trigger-on:
74                 - patchset-created-event:
75                     exclude-drafts: 'false'
76                     exclude-trivial-rebase: 'false'
77                     exclude-no-code-change: 'false'
78                 - draft-published-event
79                 - comment-added-contains-event:
80                     comment-contains-value: 'recheck'
81             projects:
82               - project-compare-type: 'ANT'
83                 project-pattern: 'releng/builder'
84                 branches:
85                   - branch-compare-type: 'ANT'
86                     branch-pattern: '**/master'
87                 file-paths:
88                     - compare-type: ANT
89                       pattern: jjb/**
90                     - compare-type: ANT
91                       pattern: jjb-templates/**
92
93     builders:
94         - shell: |
95             pip freeze
96             jenkins-jobs -l DEBUG test --recursive -o archives/job_output jjb/
97             gzip archives/job_output/*
98
99         - releng-check-unicode
100
101     publishers:
102         - email-notification:
103             email-prefix: '[releng]'
104         - opendaylight-infra-shiplogs:
105             maven-version: '{mvn33}'
106
107 - job-template:
108     name: builder-verify-python
109     node: centos7-java-builder-2c-8g
110
111     project-type: freestyle
112
113     logrotate:
114         daysToKeep: 14
115
116     parameters:
117         - opendaylight-infra-parameters:
118             project: '{project}'
119             branch: 'master'
120             refspec: 'refs/heads/master'
121             artifacts: '{archive-artifacts}'
122
123     scm:
124         - gerrit-trigger-scm:
125             refspec: '$GERRIT_REFSPEC'
126             choosing-strategy: 'gerrit'
127
128     wrappers:
129         - opendaylight-infra-wrappers:
130             build-timeout: '{build-timeout}'
131
132     triggers:
133         - gerrit:
134             server-name: 'OpenDaylight'
135             trigger-on:
136                 - patchset-created-event:
137                     exclude-drafts: 'false'
138                     exclude-trivial-rebase: 'false'
139                     exclude-no-code-change: 'false'
140                 - draft-published-event
141                 - comment-added-contains-event:
142                     comment-contains-value: 'recheck'
143             projects:
144               - project-compare-type: 'ANT'
145                 project-pattern: 'releng/builder'
146                 branches:
147                   - branch-compare-type: 'ANT'
148                     branch-pattern: '**/master'
149                 file-paths:
150                     - compare-type: ANT
151                       pattern: scripts/**
152
153
154     builders:
155         - shell: |
156             virtualenv $WORKSPACE/venv
157             source $WORKSPACE/venv/bin/activate
158             pip install --upgrade pip
159             pip freeze
160             pip install flake8
161             flake8 scripts/
162
163     publishers:
164         - email-notification:
165             email-prefix: '[releng]'
166         - opendaylight-infra-shiplogs:
167             maven-version: '{mvn33}'
168
169 - job-template:
170     name: 'builder-merge'
171     node: jjbuilder
172
173     # builder-merge job to run JJB update
174     #
175     # This job's purpose is to update all the JJB
176
177     project-type: freestyle
178
179     logrotate:
180         daysToKeep: 14
181
182     parameters:
183         - opendaylight-infra-parameters:
184             project: '{project}'
185             branch: 'master'
186             refspec: 'refs/heads/master'
187             artifacts: '{archive-artifacts}'
188
189     scm:
190         - gerrit-trigger-scm:
191             refspec: ''
192             choosing-strategy: 'default'
193
194     wrappers:
195         - opendaylight-infra-wrappers:
196             build-timeout: '{build-timeout}'
197
198     triggers:
199         - gerrit:
200             server-name: 'OpenDaylight'
201             trigger-on:
202                 - change-merged-event
203                 - comment-added-contains-event:
204                     comment-contains-value: 'remerge'
205             projects:
206               - project-compare-type: 'ANT'
207                 project-pattern: 'releng/builder'
208                 branches:
209                     - branch-compare-type: 'ANT'
210                       branch-pattern: '**/master'
211                 file-paths:
212                     - compare-type: ANT
213                       pattern: jjb/**
214                     - compare-type: ANT
215                       pattern: jjb-templates/**
216
217     builders:
218         - shell: |
219             pip freeze
220             jenkins-jobs --version
221             jenkins-jobs update --recursive --delete-old --workers 4 jjb/
222
223     publishers:
224         - email-notification:
225             email-prefix: '[releng]'
226         - opendaylight-infra-shiplogs:
227             maven-version: '{mvn33}'
228
229 - job-template:
230     name: 'builder-weekly'
231     disabled: true
232     node: jjbuilder
233
234     # builder-weekly job to run JJB update weekly
235     #
236     # This job's purpose is to update all the JJB on a weekly (Sunday)
237     # basis with --flush-cache enabled to ensure jobs are okay
238
239     project-type: freestyle
240
241     logrotate:
242         daysToKeep: 14
243
244     parameters:
245         - opendaylight-infra-parameters:
246             project: '{project}'
247             branch: 'master'
248             refspec: 'refs/heads/master'
249             artifacts: '{archive-artifacts}'
250
251     scm:
252         - git-scm:
253             branch: 'master'
254
255     wrappers:
256         - opendaylight-infra-wrappers:
257             build-timeout: '{build-timeout}'
258
259     triggers:
260         - timed: 'H H * * 0'
261
262     builders:
263         - shell: |
264             jenkins-jobs --flush-cache update --recursive jjb/
265
266     publishers:
267         - email-notification:
268             email-prefix: '[releng]'
269         - opendaylight-infra-shiplogs:
270             maven-version: '{mvn33}'
271
272 - job-template:
273     name: builder-check-poms
274     node: centos7-java-builder-2c-8g
275
276     project-type: freestyle
277
278     logrotate:
279         daysToKeep: 14
280
281     parameters:
282         - opendaylight-infra-parameters:
283             project: '{project}'
284             branch: 'master'
285             refspec: 'refs/heads/master'
286             artifacts: '{archive-artifacts}'
287
288     wrappers:
289         - opendaylight-infra-wrappers:
290             build-timeout: '{build-timeout}'
291
292     triggers:
293         - timed: 'H H * * 1'
294
295     builders:
296         - shell:
297             !include-raw-escape:
298                 - include-raw-check-poms.sh
299
300     publishers:
301         - email-notification:
302             email-prefix: '[releng]'
303         - opendaylight-infra-shiplogs:
304             maven-version: '{mvn33}'
305
306 - job-template:
307     name: 'builder-verify-packer-{platforms}-{templates}'
308     project-type: freestyle
309     node: centos7-java-builder-2c-8g
310     concurrent: true
311
312     logrotate:
313         daysToKeep: 14
314
315     parameters:
316         - opendaylight-infra-parameters:
317             project: '{project}'
318             branch: '{branch}'
319             refspec: 'refs/heads/{branch}'
320             artifacts: '{archive-artifacts}'
321
322     scm:
323         - gerrit-trigger-scm:
324             refspec: '$GERRIT_REFSPEC'
325             choosing-strategy: 'gerrit'
326
327     wrappers:
328         - opendaylight-infra-wrappers:
329             build-timeout: '{build-timeout}'
330
331     triggers:
332         - gerrit:
333             server-name: 'OpenDaylight'
334             trigger-on:
335                 - patchset-created-event:
336                     exclude-drafts: 'true'
337                     exclude-trivial-rebase: 'false'
338                     exclude-no-code-change: 'true'
339                 - draft-published-event
340                 - comment-added-contains-event:
341                     comment-contains-value: 'recheck'
342                 - comment-added-contains-event:
343                     comment-contains-value: 'reverify'
344             projects:
345               - project-compare-type: 'ANT'
346                 project-pattern: '{project}'
347                 branches:
348                   - branch-compare-type: 'ANT'
349                     branch-pattern: '**/{branch}'
350                 file-paths:
351                     - compare-type: ANT
352                       pattern: 'packer/**'
353
354     builders:
355         - packer-validate:
356             platform: '{platforms}'
357             template: '{templates}'
358
359     publishers:
360         - email-notification:
361             email-prefix: '[{project}]'
362         - opendaylight-infra-shiplogs:
363             maven-version: '{mvn33}'
364
365 - job-template:
366     name: 'builder-merge-packer-{platforms}-{templates}'
367     project-type: freestyle
368     node: centos7-java-builder-2c-8g
369     concurrent: true
370
371     logrotate:
372         daysToKeep: 14
373
374     parameters:
375         - opendaylight-infra-parameters:
376             project: '{project}'
377             branch: 'master'
378             refspec: 'refs/heads/master'
379             artifacts: '{archive-artifacts}'
380
381     scm:
382         - gerrit-trigger-scm:
383             refspec: ''
384             choosing-strategy: 'default'
385
386     wrappers:
387         - opendaylight-infra-wrappers:
388             build-timeout: '{build-timeout}'
389
390     triggers:
391         - gerrit:
392             server-name: 'OpenDaylight'
393             trigger-on:
394                 - change-merged-event
395                 - comment-added-contains-event:
396                     comment-contains-value: 'remerge'
397             projects:
398               - project-compare-type: 'ANT'
399                 project-pattern: 'releng/builder'
400                 branches:
401                     - branch-compare-type: 'ANT'
402                       branch-pattern: '**/master'
403                 file-paths:
404                     - compare-type: ANT
405                       pattern: 'packer/**'
406
407     builders:
408         - packer-validate:
409             platform: '{platforms}'
410             template: '{templates}'
411         - packer-build:
412             platform: '{platforms}'
413             template: '{templates}'
414
415     publishers:
416         - email-notification:
417             email-prefix: '[{project}]'
418         - opendaylight-infra-shiplogs:
419             maven-version: '{mvn33}'