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