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