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