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