0496b874ff8274d01a55bf0c60a77c6d3fc0e956
[releng/builder.git] / jjb / didm / didm.yaml
1 # REMOVE THIS LINE IF YOU WANT TO CUSTOMIZE ANYTHING BELOW
2 # Otherwise this file will be automatically overwritten by the template
3 # autobuilder.
4
5 # ODL Releng build templates
6 - project:
7     name: didm
8     jobs:
9         - 'didm-verify-{stream}'
10         - 'didm-merge-{stream}'
11         - 'didm-daily-{stream}'
12         - 'didm-distribution-{stream}'
13         - 'didm-integration-{stream}'
14         - 'didm-sonar'
15         - 'didm-clm-{stream}'
16
17
18     # stream:    release stream (eg. stable-lithium or beryllium)
19     # branch:    git branch (eg. stable/lithium or master)
20     stream:
21         - beryllium:
22             branch: 'master'
23             jdk: openjdk7
24             jdks:
25                 - openjdk7
26         - stable-lithium:
27             branch: 'stable/lithium'
28             jdk: openjdk7
29             jdks:
30                 - openjdk7
31
32     project: 'didm'
33
34 # For the Job templates below replace instances of:
35 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
36 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
37 # MAVEN_GOALS with your maven goals to build
38 # MAVEN_OPTS with your maven options to build
39
40 - job-template:
41     name: 'didm-verify-{stream}'
42
43     # Job template for ODL verify jobs
44     #
45     # The purpose of this job template is to setup a ODL verify job
46     #
47     # Required Variables:
48     #     stream:    release stream (eg. stable-lithium or beryllium)
49     #     branch:    git branch (eg. stable/lithium or master)
50
51     project-type: matrix
52     node: matrix_master
53     concurrent: true
54
55     axes:
56         - axis:
57             type: slave
58             name: nodes
59             values:
60                 - dynamic_verify
61         - axis:
62             type: jdk
63             values: '{obj:jdks}'
64
65     logrotate:
66         daysToKeep: '{build-days-to-keep}'
67         numToKeep: '{build-num-to-keep}'
68         artifactDaysToKeep: '{build-artifact-days-to-keep}'
69         artifactNumToKeep: '{build-artifact-num-to-keep}'
70
71     parameters:
72         - project-parameter:
73             project: '{project}'
74         - gerrit-parameter:
75             branch: '{branch}'
76
77     scm:
78         - gerrit-trigger-scm:
79             credentials-id: '{ssh-credentials}'
80             refspec: '$GERRIT_REFSPEC'
81             choosing-strategy: 'gerrit'
82
83     wrappers:
84         - build-timeout
85         - ssh-agent-credentials:
86             users:
87                 - '{ssh-credentials}'
88
89     triggers:
90         - gerrit-trigger-patch-submitted:
91             name: 'didm'
92             branch: '{branch}'
93
94     builders:
95         - wipe-org-opendaylight-repo
96         - jacoco-nojava-workaround
97         - provide-maven-settings:
98             global-settings-file: '{odl-global-settings}'
99             settings-file: '{didm-settings}'
100         - maven-target:
101             maven-version: '{mvn33}'
102             pom: 'pom.xml'
103             goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
104             java-opts:
105                 - '-Xmx1024m -XX:MaxPermSize=256m'
106             settings: '{didm-settings}'
107             global-settings: '{odl-global-settings}'
108
109     publishers:
110         - findbugs
111         - email-notification:
112             email-prefix: '[didm]'
113         - jacoco-report
114
115 - job-template:
116     name: 'didm-merge-{stream}'
117
118     # Job template for ODL merge jobs
119     #
120     # The purpose of this job template is to setup a ODL merge job
121     # and deploy artifacts to Nexus.
122     #
123     # Required Variables:
124     #     stream:    release stream (eg. stable-lithium or beryllium)
125     #     branch:    git branch (eg. stable/lithium or master)
126
127     project-type: maven
128     node: dynamic_merge
129     jdk: '{jdk}'
130
131     logrotate:
132         daysToKeep: '{build-days-to-keep}'
133         numToKeep: '{build-num-to-keep}'
134         artifactDaysToKeep: '{build-artifact-days-to-keep}'
135         artifactNumToKeep: '{build-artifact-num-to-keep}'
136
137     parameters:
138         - project-parameter:
139             project: '{project}'
140
141     scm:
142         - gerrit-trigger-scm:
143             credentials-id: '{ssh-credentials}'
144             refspec: ''
145             choosing-strategy: 'default'
146
147     wrappers:
148         - build-timeout
149         - ssh-agent-credentials:
150             users:
151                 - '{ssh-credentials}'
152
153     triggers:
154         - gerrit-trigger-patch-merged:
155             name: 'didm'
156             branch: '{branch}'
157
158     prebuilders:
159         - wipe-org-opendaylight-repo
160         - jacoco-nojava-workaround
161         - provide-maven-settings:
162             global-settings-file: '{odl-global-settings}'
163             settings-file: '{didm-settings}'
164
165     maven:
166         maven-name: '{mvn33}'
167         root-pom: 'pom.xml'
168         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge'
169         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
170         settings: '{didm-settings}'
171         global-settings: '{odl-global-settings}'
172
173     reporters:
174         - findbugs
175
176     publishers:
177         - email-notification:
178             email-prefix: '[didm]'
179         - maven-deploy:
180             id: ''
181             unique-version: true
182             deploy-unstable: false
183         - jacoco-report
184
185 - job-template:
186     name: 'didm-daily-{stream}'
187
188     # Job template for daily builders
189     #
190     # The purpose of this job template is to setup a daily/nightly
191     # builder and pushes to Sonar analysis.
192     #
193     # Required Variables:
194     #     stream:    release stream (eg. stable-lithium or beryllium)
195     #     branch:    git branch (eg. stable/lithium or master)
196
197     project-type: maven
198     node: dynamic_verify
199     jdk: '{jdk}'
200
201     logrotate:
202         daysToKeep: '{build-days-to-keep}'
203         numToKeep: '{build-num-to-keep}'
204         artifactDaysToKeep: '{build-artifact-days-to-keep}'
205         artifactNumToKeep: '{build-artifact-num-to-keep}'
206
207     parameters:
208         - project-parameter:
209             project: '{project}'
210
211     scm:
212         - git-scm:
213             credentials-id: '{ssh-credentials}'
214             refspec: ''
215             branch: '{branch}'
216
217     wrappers:
218         - build-timeout
219         - ssh-agent-credentials:
220             users:
221                 - '{ssh-credentials}'
222
223     triggers:
224         - timed: 'H H * * *'
225
226     prebuilders:
227         - wipe-org-opendaylight-repo
228         - jacoco-nojava-workaround
229         - provide-maven-settings:
230             global-settings-file: '{odl-global-settings}'
231             settings-file: '{didm-settings}'
232
233     maven:
234         maven-name: '{mvn33}'
235         root-pom: 'pom.xml'
236         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
237         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
238         settings: '{didm-settings}'
239         global-settings: '{odl-global-settings}'
240
241     reporters:
242         - findbugs
243
244     publishers:
245         - email-notification:
246             email-prefix: '[didm]'
247         - jacoco-report
248
249 - job-template:
250     name: 'didm-distribution-{stream}'
251
252     # Required variables:
253     #     stream:    release stream (eg. stable-lithium or beryllium)
254     #     branch:    git branch (eg. stable/lithium or master)
255
256     project-type: maven
257     node: dynamic_merge
258     jdk: '{jdk}'
259
260     logrotate:
261         daysToKeep: '{build-days-to-keep}'
262         numToKeep: '{build-num-to-keep}'
263         artifactDaysToKeep: '{build-artifact-days-to-keep}'
264         artifactNumToKeep: '{build-artifact-num-to-keep}'
265
266     parameters:
267         - project-parameter:
268             project: 'integration'
269
270     scm:
271         - git-scm:
272             credentials-id: '{ssh-credentials}'
273             refspec: ''
274             branch: '{branch}'
275
276     wrappers:
277         - build-timeout
278         - ssh-agent-credentials:
279             users:
280                 - '{ssh-credentials}'
281
282     triggers:
283         - reverse:
284             jobs: '{project}-merge-{stream}'
285             result: 'success'
286
287     prebuilders:
288         - wipe-org-opendaylight-repo
289         - provide-maven-settings:
290             global-settings-file: '{odl-global-settings}'
291             settings-file: '{didm-settings}'
292
293     maven:
294         maven-name: '{mvn33}'
295         root-pom: 'pom.xml'
296         goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install'
297         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
298         settings: '{integration-settings}'
299         global-settings: '{odl-global-settings}'
300
301     publishers:
302         - email-notification:
303             email-prefix: '[{project}]'
304         - maven-deploy:
305             id: ''
306             unique-version: true
307             deploy-unstable: false
308
309 - job-template:
310     name: 'didm-integration-{stream}'
311     disabled: false
312
313     # Job template for ODL integration verify jobs
314     #
315     # This is similar to a normal verify job, but it runs
316     # when a project that's a dependency of your project
317     # is successfully built.
318     #
319     # Required Variables:
320     #     stream:    release stream (eg. stable-lithium or beryllium)
321     #     branch:    git branch (eg. stable/lithium or master)
322
323     project-type: maven
324     node: dynamic_merge
325     jdk: '{jdk}'
326
327     logrotate:
328         daysToKeep: '{build-days-to-keep}'
329         numToKeep: '{build-num-to-keep}'
330         artifactDaysToKeep: '{build-artifact-days-to-keep}'
331         artifactNumToKeep: '{build-artifact-num-to-keep}'
332
333     parameters:
334         - project-parameter:
335             project: '{project}'
336
337     scm:
338         - git-scm:
339             credentials-id: '{ssh-credentials}'
340             refspec: ''
341             branch: '{branch}'
342
343     wrappers:
344         - build-timeout
345         - ssh-agent-credentials:
346             users:
347                 - '{ssh-credentials}'
348
349     triggers:
350         - reverse:
351             jobs: 'odlparent-merge-{stream}'
352             result: 'success'
353
354     prebuilders:
355         - wipe-org-opendaylight-repo
356         - jacoco-nojava-workaround
357         - provide-maven-settings:
358             global-settings-file: '{odl-global-settings}'
359             settings-file: '{didm-settings}'
360
361     maven:
362         maven-name: '{mvn33}'
363         root-pom: 'pom.xml'
364         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
365         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
366         settings: '{didm-settings}'
367         global-settings: '{odl-global-settings}'
368
369     reporters:
370         - findbugs
371
372     publishers:
373         - email-notification:
374             email-prefix: '[didm] [odlparent]'
375         - jacoco-report
376
377 - job-template:
378     name: 'didm-sonar'
379
380     project-type: maven
381     node: dynamic_verify
382     jdk: 'openjdk7'
383
384     logrotate:
385         daysToKeep: '7'
386         numToKeep: '10'
387         artifactDaysToKeep: '1'
388         artifactNumToKeep: '1'
389
390     parameters:
391         - project-parameter:
392             project: '{project}'
393
394     scm:
395         - git-scm:
396             credentials-id: '{ssh-credentials}'
397             refspec: ''
398             branch: 'master'
399
400     wrappers:
401         - build-timeout
402         - ssh-agent-credentials:
403             users:
404                 - '{ssh-credentials}'
405
406     triggers:
407         - timed: 'H H * * *'
408         - gerrit-trigger-patch-sonar:
409             name: 'didm'
410
411     prebuilders:
412         - wipe-org-opendaylight-repo
413         - jacoco-nojava-workaround
414         - provide-maven-settings:
415             global-settings-file: '{odl-global-settings}'
416             settings-file: '{didm-settings}'
417
418     maven:
419         maven-name: '{mvn33}'
420         root-pom: 'pom.xml'
421         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dsonar'
422         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
423         settings: '{didm-settings}'
424         global-settings: '{odl-global-settings}'
425
426     reporters:
427         - findbugs
428
429     publishers:
430         - sonar:
431             language: 'java'
432             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
433         - email-notification:
434             email-prefix: '[didm]'
435         - jacoco-report
436
437 - job-template:
438     name: 'didm-clm-{stream}'
439
440     project-type: maven
441     node: dynamic_verify
442     jdk: '{jdk}'
443
444     logrotate:
445         daysToKeep: '{build-days-to-keep}'
446         numToKeep: '{build-num-to-keep}'
447         artifactDaysToKeep: '{build-artifact-days-to-keep}'
448         artifactNumToKeep: '{build-artifact-num-to-keep}'
449
450     parameters:
451         - project-parameter:
452             project: '{project}'
453
454     scm:
455         - git-scm:
456             credentials-id: '{ssh-credentials}'
457             refspec: ''
458             branch: '{branch}'
459
460     wrappers:
461         - build-timeout
462         - ssh-agent-credentials:
463             users:
464                 - '{ssh-credentials}'
465
466     triggers:
467         - timed: '@weekly'
468
469     prebuilders:
470         - wipe-org-opendaylight-repo
471         - provide-maven-settings:
472             global-settings-file: '{odl-global-settings}'
473             settings-file: '{didm-settings}'
474
475     maven:
476         maven-name: '{mvn33}'
477         root-pom: 'pom.xml'
478         goals: 'com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
479         maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
480         settings: '{didm-settings}'
481         global-settings: '{odl-global-settings}'
482
483     postbuilders:
484         - check-clm:
485             application-name: didm
486
487     publishers:
488         - email-notification:
489             email-prefix: '[didm]'
490