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