Update automated project templates
[releng/builder.git] / jjb / dlux / dlux.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: dlux
8     jobs:
9         - 'dlux-verify-{stream}'
10         - 'dlux-merge-{stream}'
11         - 'dlux-daily-{stream}'
12         - 'dlux-integration-{stream}'
13         - 'dlux-sonar'
14         - 'dlux-clm'
15
16
17     # stream:    branch with - in place of / (eg. stable-helium)
18     # branch:    branch (eg. stable/helium)
19     stream:
20         - master:
21             branch: 'master'
22             jdk: openjdk7
23             jdks:
24                 - openjdk7
25         - stable-helium:
26             branch: 'stable/helium'
27             jdk: openjdk7
28             jdks:
29                 - openjdk7
30         - stable-lithium:
31             branch: 'stable/lithium'
32             jdk: openjdk7
33             jdks:
34                 - openjdk7
35
36     project: 'dlux'
37
38 # For the Job templates below replace instances of:
39 # PROJECT with your project name (eg. controller)
40 # MAVEN_GOALS with your maven goals to build
41 # MAVEN_OPTS with your maven options to build
42
43 - job-template:
44     name: 'dlux-verify-{stream}'
45
46     # Job template for ODL verify jobs
47     #
48     # The purpose of this job template is to setup a ODL verify job
49     #
50     # Required Variables:
51     #     stream:    branch with - in place of / (eg. stable-helium)
52     #     branch:    branch (eg. stable/helium)
53
54     project-type: matrix
55     node: matrix_master
56     concurrent: true
57
58     axes:
59         - axis:
60             type: slave
61             name: nodes
62             values:
63                 - dynamic_verify
64         - axis:
65             type: jdk
66             values: '{obj:jdks}'
67
68     logrotate:
69         daysToKeep: '{build-days-to-keep}'
70         numToKeep: '{build-num-to-keep}'
71         artifactDaysToKeep: '{build-artifact-days-to-keep}'
72         artifactNumToKeep: '{build-artifact-num-to-keep}'
73
74     parameters:
75         - project-parameter:
76             project: '{project}'
77         - gerrit-parameter:
78             branch: '{branch}'
79
80     scm:
81         - gerrit-trigger-scm:
82             credentials-id: '{ssh-credentials}'
83             refspec: '$GERRIT_REFSPEC'
84             choosing-strategy: 'gerrit'
85
86     wrappers:
87         - build-timeout
88         - ssh-agent-credentials:
89             users:
90                 - '{ssh-credentials}'
91
92     triggers:
93         - gerrit-trigger-patch-submitted:
94             name: 'dlux'
95             branch: '{branch}'
96
97     builders:
98         - wipe-org-opendaylight-repo
99         - maven-target:
100             maven-version: '{mvn32}'
101             pom: 'pom.xml'
102             goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
103             java-opts:
104                 - '-Xmx1024m -XX:MaxPermSize=256m'
105             settings: '{dlux-settings}'
106             global-settings: '{odl-global-settings}'
107         - jacoco-nojava-workaround
108
109     publishers:
110         - findbugs
111         - email-notification:
112             email-prefix: '[dlux]'
113         - jacoco-report
114
115 - job-template:
116     name: 'dlux-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:    branch with - in place of / (eg. stable-helium)
125     #     branch:    branch (eg. stable/helium)
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: 'dlux'
156             branch: '{branch}'
157
158     prebuilders:
159         - wipe-org-opendaylight-repo
160
161     maven:
162         maven-name: '{mvn32}'
163         root-pom: 'pom.xml'
164         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar'
165         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
166         settings: '{dlux-settings}'
167         global-settings: '{odl-global-settings}'
168
169     postbuilders:
170         - jacoco-nojava-workaround
171
172     reporters:
173         - findbugs
174
175     publishers:
176         
177         - email-notification:
178             email-prefix: '[dlux]'
179         - maven-deploy:
180             id: ''
181             unique-version: true
182             deploy-unstable: false
183         - jacoco-report
184
185 - job-template:
186     name: 'dlux-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:    branch with - in place of / (eg. stable-helium)
195     #     branch:    branch (eg. stable/helium)
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
229     maven:
230         maven-name: '{mvn32}'
231         root-pom: 'pom.xml'
232         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar'
233         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
234         settings: '{dlux-settings}'
235         global-settings: '{odl-global-settings}'
236
237     postbuilders:
238         - jacoco-nojava-workaround
239
240     reporters:
241         - findbugs
242
243     publishers:
244         - email-notification:
245             email-prefix: '[dlux]'
246         - jacoco-report
247
248 - job-template:
249     name: 'dlux-integration-{stream}'
250     disabled: false
251
252     # Job template for ODL merge jobs
253     #
254     # The purpose of this job template is to setup a ODL merge job
255     # and deploy artifacts to Nexus.
256     #
257     # Required Variables:
258     #     stream:    branch with - in place of / (eg. stable-helium)
259     #     branch:    branch (eg. stable/helium)
260
261     project-type: maven
262     node: dynamic_merge
263     jdk: '{jdk}'
264
265     logrotate:
266         daysToKeep: '{build-days-to-keep}'
267         numToKeep: '{build-num-to-keep}'
268         artifactDaysToKeep: '{build-artifact-days-to-keep}'
269         artifactNumToKeep: '{build-artifact-num-to-keep}'
270
271     parameters:
272         - project-parameter:
273             project: '{project}'
274
275     scm:
276         - git-scm:
277             credentials-id: '{ssh-credentials}'
278             refspec: ''
279             branch: '{branch}'
280
281     wrappers:
282         - build-timeout
283         - ssh-agent-credentials:
284             users:
285                 - '{ssh-credentials}'
286
287     triggers:
288         - reverse:
289             jobs: 'odlparent-merge-{stream}'
290             result: 'success'
291
292     prebuilders:
293         - wipe-org-opendaylight-repo
294
295     maven:
296         maven-name: '{mvn32}'
297         root-pom: 'pom.xml'
298         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar'
299         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
300         settings: '{dlux-settings}'
301         global-settings: '{odl-global-settings}'
302
303     postbuilders:
304         - jacoco-nojava-workaround
305
306     reporters:
307         - findbugs
308
309     publishers:
310         - email-notification:
311             email-prefix: '[dlux] [odlparent]'
312         - jacoco-report
313
314 - job-template:
315     name: 'dlux-sonar'
316
317     project-type: maven
318     node: dynamic_verify
319     jdk: 'openjdk7'
320
321     logrotate:
322         daysToKeep: '7'
323         numToKeep: '10'
324         artifactDaysToKeep: '1'
325         artifactNumToKeep: '1'
326
327     parameters:
328         - project-parameter:
329             project: '{project}'
330
331     scm:
332         - git-scm:
333             credentials-id: '{ssh-credentials}'
334             refspec: ''
335             branch: 'master'
336
337     wrappers:
338         - build-timeout
339         - ssh-agent-credentials:
340             users:
341                 - '{ssh-credentials}'
342
343     triggers:
344         - timed: 'H H * * *'
345
346     maven:
347         maven-name: '{mvn32}'
348         root-pom: 'pom.xml'
349         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dsonar'
350         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
351         settings: '{dlux-settings}'
352         global-settings: '{odl-global-settings}'
353
354     postbuilders:
355         - jacoco-nojava-workaround
356
357     reporters:
358         - findbugs
359
360     publishers:
361         - sonar:
362             language: 'java'
363             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
364         - email-notification:
365             email-prefix: '[dlux]'
366         - jacoco-report
367
368 - job-template:
369     name: 'dlux-clm'
370
371     project-type: maven
372     node: dynamic_verify
373     jdk: 'openjdk7'
374
375     logrotate:
376         daysToKeep: '{build-days-to-keep}'
377         numToKeep: '{build-num-to-keep}'
378         artifactDaysToKeep: '{build-artifact-days-to-keep}'
379         artifactNumToKeep: '{build-artifact-num-to-keep}'
380
381     parameters:
382         - project-parameter:
383             project: '{project}'
384
385     scm:
386         - git-scm:
387             credentials-id: '{ssh-credentials}'
388             refspec: ''
389             branch: 'master'
390
391     wrappers:
392         - build-timeout
393         - ssh-agent-credentials:
394             users:
395                 - '{ssh-credentials}'
396
397     triggers:
398         - timed: '@weekly'
399
400     prebuilders:
401         - wipe-org-opendaylight-repo
402
403     maven:
404         maven-name: '{mvn32}'
405         root-pom: 'pom.xml'
406         goals: 'com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
407         maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
408         settings: '{dlux-settings}'
409         global-settings: '{odl-global-settings}'
410
411     postbuilders:
412         - check-clm:
413             application-name: dlux
414
415     publishers:
416         - email-notification:
417             email-prefix: '[dlux]'
418