Merge "Prefix timestamps on archived console logs"
[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         - platforms: ubuntu-14.04
40           templates: robot
41
42     project-type: freestyle
43     archive-artifacts: '**/*.log'
44     build-timeout: '60'
45     # The following two values are only specified here
46     # so that code blocks look similar to other projects.
47     project: 'releng/builder'
48     branch: 'master'
49
50 - job-template:
51     name: builder-verify-jjb
52     node: jjbuilder
53
54     project-type: freestyle
55
56     logrotate:
57         daysToKeep: 14
58
59     parameters:
60         - opendaylight-infra-parameters:
61             project: '{project}'
62             branch: '{branch}'
63             refspec: 'refs/heads/{branch}'
64             artifacts: '{archive-artifacts}'
65
66     scm:
67         - gerrit-trigger-scm:
68             refspec: '$GERRIT_REFSPEC'
69             choosing-strategy: 'gerrit'
70
71     wrappers:
72         - opendaylight-infra-wrappers:
73             build-timeout: '{build-timeout}'
74
75     triggers:
76         - gerrit-trigger-patch-submitted:
77             server: '{server-name}'
78             project: '{project}'
79             branch: '{branch}'
80             files: 'jjb/**'
81
82     builders:
83         - shell: |
84             pip freeze
85             jenkins-jobs -l DEBUG test --recursive -o archives/job_output jjb/
86             gzip archives/job_output/*
87
88         - releng-check-unicode
89         - verify-gpg-signature
90
91     publishers:
92         - email-notification:
93             email-recipients: '{email-recipients}'
94             email-prefix: '[releng]'
95         - opendaylight-infra-shiplogs:
96             maven-version: 'mvn33'
97
98 # FIXME: Migrate to {project-name}-verify-python-{stream} or delete this entirely,
99 #        as there are zero python files (aside docs/conf.py) in releng/builder.
100 - job-template:
101     name: builder-verify-python
102     node: centos7-java-builder-2c-8g
103
104     project-type: freestyle
105
106     logrotate:
107         daysToKeep: 14
108
109     parameters:
110         - opendaylight-infra-parameters:
111             project: '{project}'
112             branch: '{branch}'
113             refspec: 'refs/heads/{branch}'
114             artifacts: '{archive-artifacts}'
115
116     scm:
117         - gerrit-trigger-scm:
118             refspec: '$GERRIT_REFSPEC'
119             choosing-strategy: 'gerrit'
120
121     wrappers:
122         - opendaylight-infra-wrappers:
123             build-timeout: '{build-timeout}'
124
125     triggers:
126         - gerrit-trigger-patch-submitted:
127             server: '{server-name}'
128             project: '{project}'
129             branch: '{branch}'
130             files: 'scripts/**'
131
132     builders:
133         - verify-gpg-signature
134         - shell: |
135             virtualenv $WORKSPACE/venv
136             source $WORKSPACE/venv/bin/activate
137             pip install --upgrade pip
138             pip freeze
139             pip install flake8
140             flake8 scripts/
141
142     publishers:
143         - email-notification:
144             email-recipients: '{email-recipients}'
145             email-prefix: '[releng]'
146         - opendaylight-infra-shiplogs:
147             maven-version: 'mvn33'
148
149 - job-template:
150     name: 'builder-merge'
151     node: jjbuilder
152
153     # builder-merge job to run JJB update
154     #
155     # This job's purpose is to update all the JJB
156
157     project-type: freestyle
158
159     logrotate:
160         daysToKeep: 14
161
162     parameters:
163         - opendaylight-infra-parameters:
164             project: '{project}'
165             branch: '{branch}'
166             refspec: 'refs/heads/{branch}'
167             artifacts: '{archive-artifacts}'
168
169     scm:
170         - gerrit-trigger-scm:
171             refspec: ''
172             choosing-strategy: 'default'
173
174     wrappers:
175         - opendaylight-infra-wrappers:
176             build-timeout: '{build-timeout}'
177
178     triggers:
179         - gerrit:
180             server-name: '{server-name}'
181             trigger-on:
182                 - change-merged-event
183                 - comment-added-contains-event:
184                     comment-contains-value: 'remerge'
185             projects:
186               - project-compare-type: 'ANT'
187                 project-pattern: 'releng/builder'
188                 branches:
189                     - branch-compare-type: 'ANT'
190                       branch-pattern: '**/{branch}'
191                 file-paths:
192                     - compare-type: ANT
193                       pattern: jjb/**
194
195     builders:
196         - shell: |
197             pip freeze
198             jenkins-jobs --version
199             jenkins-jobs update --recursive --delete-old --workers 4 jjb/
200
201     publishers:
202         - email-notification:
203             email-recipients: '{email-recipients}'
204             email-prefix: '[releng]'
205         - opendaylight-infra-shiplogs:
206             maven-version: 'mvn33'
207
208 - job-template:
209     name: 'builder-weekly'
210     disabled: true
211     node: jjbuilder
212
213     # builder-weekly job to run JJB update weekly
214     #
215     # This job's purpose is to update all the JJB on a weekly (Sunday)
216     # basis with --flush-cache enabled to ensure jobs are okay
217
218     project-type: freestyle
219
220     logrotate:
221         daysToKeep: 14
222
223     parameters:
224         - opendaylight-infra-parameters:
225             project: '{project}'
226             branch: '{branch}'
227             refspec: 'refs/heads/{branch}'
228             artifacts: '{archive-artifacts}'
229
230     scm:
231         - git-scm:
232             branch: '{branch}'
233
234     wrappers:
235         - opendaylight-infra-wrappers:
236             build-timeout: '{build-timeout}'
237
238     triggers:
239         - timed: 'H H * * 0'
240
241     builders:
242         - shell: |
243             jenkins-jobs --flush-cache update --recursive jjb/
244
245     publishers:
246         - email-notification:
247             email-recipients: '{email-recipients}'
248             email-prefix: '[releng]'
249         - opendaylight-infra-shiplogs:
250             maven-version: 'mvn33'
251
252 - job-template:
253     name: builder-check-poms
254     node: centos7-java-builder-2c-8g
255
256     project-type: freestyle
257
258     logrotate:
259         daysToKeep: 14
260
261     parameters:
262         - opendaylight-infra-parameters:
263             project: '{project}'
264             branch: '{branch}'
265             refspec: 'refs/heads/{branch}'
266             artifacts: '{archive-artifacts}'
267
268     wrappers:
269         - opendaylight-infra-wrappers:
270             build-timeout: '{build-timeout}'
271
272     triggers:
273         - timed: 'H H * * 1'
274
275     builders:
276         - shell:
277             !include-raw-escape:
278                 - include-raw-check-poms.sh
279
280     publishers:
281         - email-notification:
282             email-recipients: '{email-recipients}'
283             email-prefix: '[releng]'
284         - opendaylight-infra-shiplogs:
285             maven-version: 'mvn33'
286
287 - job-template:
288     name: 'builder-verify-packer-{platforms}-{templates}'
289     project-type: freestyle
290     node: centos7-java-builder-2c-8g
291     concurrent: true
292
293     logrotate:
294         daysToKeep: 14
295
296     parameters:
297         - opendaylight-infra-parameters:
298             project: '{project}'
299             branch: '{branch}'
300             refspec: 'refs/heads/{branch}'
301             artifacts: '{archive-artifacts}'
302
303     scm:
304         - gerrit-trigger-scm:
305             refspec: '$GERRIT_REFSPEC'
306             choosing-strategy: 'gerrit'
307
308     wrappers:
309         - opendaylight-infra-wrappers:
310             build-timeout: '{build-timeout}'
311
312     triggers:
313         - gerrit-trigger-patch-submitted:
314             server: '{server-name}'
315             project: '{project}'
316             branch: '{branch}'
317             files: 'packer/**'
318
319     builders:
320         - packer-validate:
321             platform: '{platforms}'
322             template: '{templates}'
323
324     publishers:
325         - email-notification:
326             email-recipients: '{email-recipients}'
327             email-prefix: '[{project}]'
328         - opendaylight-infra-shiplogs:
329             maven-version: 'mvn33'
330
331 - job-template:
332     name: 'builder-merge-packer-{platforms}-{templates}'
333     project-type: freestyle
334     node: centos7-java-builder-2c-8g
335     concurrent: true
336
337     logrotate:
338         daysToKeep: 14
339
340     parameters:
341         - opendaylight-infra-parameters:
342             project: '{project}'
343             branch: '{branch}'
344             refspec: 'refs/heads/{branch}'
345             artifacts: '{archive-artifacts}'
346
347     scm:
348         - gerrit-trigger-scm:
349             refspec: ''
350             choosing-strategy: 'default'
351
352     wrappers:
353         - opendaylight-infra-wrappers:
354             build-timeout: '{build-timeout}'
355
356     triggers:
357         - timed: '00 10 1 * *'
358         - gerrit:
359             server-name: '{server-name}'
360             trigger-on:
361                 - change-merged-event
362                 - comment-added-contains-event:
363                     comment-contains-value: 'remerge'
364             projects:
365               - project-compare-type: 'ANT'
366                 project-pattern: 'releng/builder'
367                 branches:
368                     - branch-compare-type: 'ANT'
369                       branch-pattern: '**/{branch}'
370                 file-paths:
371                     - compare-type: ANT
372                       pattern: 'packer/**'
373
374     builders:
375         - packer-validate:
376             platform: '{platforms}'
377             template: '{templates}'
378         - packer-build:
379             platform: '{platforms}'
380             template: '{templates}'
381
382     publishers:
383         - email-notification:
384             email-recipients: '{email-recipients}'
385             email-prefix: '[{project}]'
386         - opendaylight-infra-shiplogs:
387             maven-version: 'mvn33'