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