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