Update automated 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:    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         - stable-helium:
32             branch: 'stable/helium'
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:    release stream (eg. stable-lithium or beryllium)
53     #     branch:    git branch (eg. stable/lithium or master)
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:    release stream (eg. stable-lithium or beryllium)
126     #     branch:    git branch (eg. stable/lithium or master)
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:    release stream (eg. stable-lithium or beryllium)
193     #     branch:    git branch (eg. stable/lithium or master)
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     # Required variables:
248     #     stream:    release stream (eg. stable-lithium or beryllium)
249     #     branch:    git branch (eg. stable/lithium or master)
250
251     project-type: maven
252     node: dynamic_merge
253     jdk: '{jdk}'
254
255     logrotate:
256         daysToKeep: '{build-days-to-keep}'
257         numToKeep: '{build-num-to-keep}'
258         artifactDaysToKeep: '{build-artifact-days-to-keep}'
259         artifactNumToKeep: '{build-artifact-num-to-keep}'
260
261     parameters:
262         - project-parameter:
263             project: 'integration'
264
265     scm:
266         - git-scm:
267             credentials-id: '{ssh-credentials}'
268             refspec: ''
269             branch: '{branch}'
270
271     wrappers:
272         - build-timeout
273         - ssh-agent-credentials:
274             users:
275                 - '{ssh-credentials}'
276
277     triggers:
278         - reverse:
279             jobs: '{project}-merge-{stream}'
280             result: 'success'
281
282     prebuilders:
283         - wipe-org-opendaylight-repo
284
285     maven:
286         maven-name: '{mvn33}'
287         root-pom: 'pom.xml'
288         goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install'
289         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
290         settings: '{integration-settings}'
291         global-settings: '{odl-global-settings}'
292
293     publishers:
294         - email-notification:
295             email-prefix: '[{project}]'
296         - maven-deploy:
297             id: ''
298             unique-version: true
299             deploy-unstable: false
300
301 - job-template:
302     name: 'snbi-integration-{stream}'
303     disabled: false
304
305     # Job template for ODL integration verify jobs
306     #
307     # This is similar to a normal verify job, but it runs
308     # when a project that's a dependency of your project
309     # is successfully built.
310     #
311     # Required Variables:
312     #     stream:    release stream (eg. stable-lithium or beryllium)
313     #     branch:    git branch (eg. stable/lithium or master)
314
315     project-type: maven
316     node: dynamic_merge
317     jdk: '{jdk}'
318
319     logrotate:
320         daysToKeep: '{build-days-to-keep}'
321         numToKeep: '{build-num-to-keep}'
322         artifactDaysToKeep: '{build-artifact-days-to-keep}'
323         artifactNumToKeep: '{build-artifact-num-to-keep}'
324
325     parameters:
326         - project-parameter:
327             project: '{project}'
328
329     scm:
330         - git-scm:
331             credentials-id: '{ssh-credentials}'
332             refspec: ''
333             branch: '{branch}'
334
335     wrappers:
336         - build-timeout
337         - ssh-agent-credentials:
338             users:
339                 - '{ssh-credentials}'
340
341     triggers:
342         - reverse:
343             jobs: 'odlparent-merge-{stream}'
344             result: 'success'
345
346     prebuilders:
347         - wipe-org-opendaylight-repo
348         - jacoco-nojava-workaround
349
350     maven:
351         maven-name: '{mvn33}'
352         root-pom: 'pom.xml'
353         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
354         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
355         settings: '{snbi-settings}'
356         global-settings: '{odl-global-settings}'
357
358     reporters:
359         - findbugs
360
361     publishers:
362         - email-notification:
363             email-prefix: '[snbi] [odlparent]'
364         - jacoco-report
365
366 - job-template:
367     name: 'snbi-sonar'
368
369     project-type: maven
370     node: dynamic_verify
371     jdk: 'openjdk7'
372
373     logrotate:
374         daysToKeep: '7'
375         numToKeep: '10'
376         artifactDaysToKeep: '1'
377         artifactNumToKeep: '1'
378
379     parameters:
380         - project-parameter:
381             project: '{project}'
382
383     scm:
384         - git-scm:
385             credentials-id: '{ssh-credentials}'
386             refspec: ''
387             branch: 'master'
388
389     wrappers:
390         - build-timeout
391         - ssh-agent-credentials:
392             users:
393                 - '{ssh-credentials}'
394
395     triggers:
396         - timed: 'H H * * *'
397         - gerrit-trigger-patch-sonar:
398             name: 'snbi'
399
400     prebuilders:
401         - wipe-org-opendaylight-repo
402         - jacoco-nojava-workaround
403
404     maven:
405         maven-name: '{mvn33}'
406         root-pom: 'pom.xml'
407         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dsonar'
408         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
409         settings: '{snbi-settings}'
410         global-settings: '{odl-global-settings}'
411
412     reporters:
413         - findbugs
414
415     publishers:
416         - sonar:
417             language: 'java'
418             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
419         - email-notification:
420             email-prefix: '[snbi]'
421         - jacoco-report
422
423 - job-template:
424     name: 'snbi-clm-{stream}'
425
426     project-type: maven
427     node: dynamic_verify
428     jdk: '{jdk}'
429
430     logrotate:
431         daysToKeep: '{build-days-to-keep}'
432         numToKeep: '{build-num-to-keep}'
433         artifactDaysToKeep: '{build-artifact-days-to-keep}'
434         artifactNumToKeep: '{build-artifact-num-to-keep}'
435
436     parameters:
437         - project-parameter:
438             project: '{project}'
439
440     scm:
441         - git-scm:
442             credentials-id: '{ssh-credentials}'
443             refspec: ''
444             branch: '{branch}'
445
446     wrappers:
447         - build-timeout
448         - ssh-agent-credentials:
449             users:
450                 - '{ssh-credentials}'
451
452     triggers:
453         - timed: '@weekly'
454
455     prebuilders:
456         - wipe-org-opendaylight-repo
457
458     maven:
459         maven-name: '{mvn33}'
460         root-pom: 'pom.xml'
461         goals: 'com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
462         maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
463         settings: '{snbi-settings}'
464         global-settings: '{odl-global-settings}'
465
466     postbuilders:
467         - check-clm:
468             application-name: snbi
469
470     publishers:
471         - email-notification:
472             email-prefix: '[snbi]'
473