Merge "Add stable/lithium jobs for snmp4sdn"
[releng/builder.git] / jjb / vtn / vtn.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: vtn
8     jobs:
9         - 'vtn-verify-{stream}'
10         - 'vtn-merge-{stream}'
11         - 'vtn-daily-{stream}'
12         - 'vtn-distribution-{stream}'
13         - 'vtn-integration-{stream}'
14         - 'vtn-sonar'
15         - 'vtn-clm'
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: 'vtn'
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: 'vtn-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: 'vtn'
96             branch: '{branch}'
97
98     builders:
99         - wipe-org-opendaylight-repo
100         - maven-target:
101             maven-version: '{mvn32}'
102             pom: 'pom.xml'
103             goals: 'clean install -V -Pintegrationtests,strictcheck,docs -Dvtn.build.jobs=2 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
104             java-opts:
105                 - '-Xmx1024m -XX:MaxPermSize=256m'
106             settings: '{vtn-settings}'
107             global-settings: '{odl-global-settings}'
108         - jacoco-nojava-workaround
109
110     publishers:
111         - findbugs
112         - email-notification:
113             email-prefix: '[vtn]'
114         - jacoco-report
115
116 - job-template:
117     name: 'vtn-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: 'vtn'
157             branch: '{branch}'
158
159     prebuilders:
160         - wipe-org-opendaylight-repo
161
162     maven:
163         maven-name: '{mvn32}'
164         root-pom: 'pom.xml'
165         goals: 'clean install -V -Pintegrationtests,strictcheck,docs -Dvtn.build.jobs=2 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar'
166         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
167         settings: '{vtn-settings}'
168         global-settings: '{odl-global-settings}'
169
170     postbuilders:
171         - jacoco-nojava-workaround
172
173     reporters:
174         - findbugs
175
176     publishers:
177         - archive-artifacts:
178             artifacts: 'manager/dist/*/target/*.zip, coordinator/dist/target/*.bz2, manager/northbound/target/site/wsdocs/**, manager/api/target/*-javadoc.jar, manager/api/target/apidocs/**'
179         - email-notification:
180             email-prefix: '[vtn]'
181         - maven-deploy:
182             id: ''
183             unique-version: true
184             deploy-unstable: false
185         - jacoco-report
186
187 - job-template:
188     name: 'vtn-daily-{stream}'
189
190     # Job template for daily builders
191     #
192     # The purpose of this job template is to setup a daily/nightly
193     # builder and pushes to Sonar analysis.
194     #
195     # Required Variables:
196     #     stream:    branch with - in place of / (eg. stable-helium)
197     #     branch:    branch (eg. stable/helium)
198
199     project-type: maven
200     node: dynamic_verify
201     jdk: '{jdk}'
202
203     logrotate:
204         daysToKeep: '{build-days-to-keep}'
205         numToKeep: '{build-num-to-keep}'
206         artifactDaysToKeep: '{build-artifact-days-to-keep}'
207         artifactNumToKeep: '{build-artifact-num-to-keep}'
208
209     parameters:
210         - project-parameter:
211             project: '{project}'
212
213     scm:
214         - git-scm:
215             credentials-id: '{ssh-credentials}'
216             refspec: ''
217             branch: '{branch}'
218
219     wrappers:
220         - build-timeout
221         - ssh-agent-credentials:
222             users:
223                 - '{ssh-credentials}'
224
225     triggers:
226         - timed: 'H H * * *'
227
228     prebuilders:
229         - wipe-org-opendaylight-repo
230
231     maven:
232         maven-name: '{mvn32}'
233         root-pom: 'pom.xml'
234         goals: 'clean install -V -Pintegrationtests,strictcheck,docs -Dvtn.build.jobs=2 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar'
235         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
236         settings: '{vtn-settings}'
237         global-settings: '{odl-global-settings}'
238
239     postbuilders:
240         - jacoco-nojava-workaround
241
242     reporters:
243         - findbugs
244
245     publishers:
246         - email-notification:
247             email-prefix: '[vtn]'
248         - jacoco-report
249
250 - job-template:
251     name: 'vtn-distribution-{stream}'
252
253     project-type: maven
254     node: dynamic_merge
255     jdk: '{jdk}'
256
257     logrotate:
258         daysToKeep: '{build-days-to-keep}'
259         numToKeep: '{build-num-to-keep}'
260         artifactDaysToKeep: '{build-artifact-days-to-keep}'
261         artifactNumToKeep: '{build-artifact-num-to-keep}'
262
263     parameters:
264         - project-parameter:
265             project: 'integration'
266
267     scm:
268         - git-scm:
269             credentials-id: '{ssh-credentials}'
270             refspec: ''
271             branch: '{branch}'
272
273     wrappers:
274         - build-timeout
275         - ssh-agent-credentials:
276             users:
277                 - '{ssh-credentials}'
278
279     triggers:
280         - reverse:
281             jobs: '{project}-merge-{stream}'
282             result: 'success'
283
284     prebuilders:
285         - wipe-org-opendaylight-repo
286
287     maven:
288         maven-name: '{mvn32}'
289         root-pom: 'pom.xml'
290         goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install source:jar javadoc:jar'
291         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
292         settings: '{integration-settings}'
293         global-settings: '{odl-global-settings}'
294
295     publishers:
296         - email-notification:
297             email-prefix: '[{project}]'
298         - maven-deploy:
299             id: ''
300             unique-version: true
301             deploy-unstable: false
302
303 - job-template:
304     name: 'vtn-integration-{stream}'
305     disabled: false
306
307     # Job template for ODL integration verify jobs
308     #
309     # This is similar to a normal verify job, but it runs
310     # when a project that's a dependency of your project
311     # is successfully built.
312     #
313     # Required Variables:
314     #     stream:    branch with - in place of / (eg. stable-helium)
315     #     branch:    branch (eg. stable/helium)
316
317     project-type: maven
318     node: dynamic_merge
319     jdk: '{jdk}'
320
321     logrotate:
322         daysToKeep: '{build-days-to-keep}'
323         numToKeep: '{build-num-to-keep}'
324         artifactDaysToKeep: '{build-artifact-days-to-keep}'
325         artifactNumToKeep: '{build-artifact-num-to-keep}'
326
327     parameters:
328         - project-parameter:
329             project: '{project}'
330
331     scm:
332         - git-scm:
333             credentials-id: '{ssh-credentials}'
334             refspec: ''
335             branch: '{branch}'
336
337     wrappers:
338         - build-timeout
339         - ssh-agent-credentials:
340             users:
341                 - '{ssh-credentials}'
342
343     triggers:
344         - reverse:
345             jobs: 'odlparent-merge-{stream},controller-merge-{stream},yangtools-merge-{stream},openflowplugin-merge-{stream},ovsdb-merge-{stream},neutron-merge-{stream}'
346             result: 'success'
347
348     prebuilders:
349         - wipe-org-opendaylight-repo
350
351     maven:
352         maven-name: '{mvn32}'
353         root-pom: 'pom.xml'
354         goals: 'clean install -V -Pintegrationtests,strictcheck,docs -Dvtn.build.jobs=2 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar'
355         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
356         settings: '{vtn-settings}'
357         global-settings: '{odl-global-settings}'
358
359     postbuilders:
360         - jacoco-nojava-workaround
361
362     reporters:
363         - findbugs
364
365     publishers:
366         - email-notification:
367             email-prefix: '[vtn] [odlparent] [controller] [yangtools] [openflowplugin] [ovsdb] [neutron]'
368         - jacoco-report
369
370 - job-template:
371     name: 'vtn-sonar'
372
373     project-type: maven
374     node: dynamic_verify
375     jdk: 'openjdk7'
376
377     logrotate:
378         daysToKeep: '7'
379         numToKeep: '10'
380         artifactDaysToKeep: '1'
381         artifactNumToKeep: '1'
382
383     parameters:
384         - project-parameter:
385             project: '{project}'
386
387     scm:
388         - git-scm:
389             credentials-id: '{ssh-credentials}'
390             refspec: ''
391             branch: 'master'
392
393     wrappers:
394         - build-timeout
395         - ssh-agent-credentials:
396             users:
397                 - '{ssh-credentials}'
398
399     triggers:
400         - timed: 'H H * * *'
401
402     maven:
403         maven-name: '{mvn32}'
404         root-pom: 'pom.xml'
405         goals: 'clean install -V -Pintegrationtests,strictcheck,docs -Dvtn.build.jobs=2 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dsonar'
406         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
407         settings: '{vtn-settings}'
408         global-settings: '{odl-global-settings}'
409
410     postbuilders:
411         - jacoco-nojava-workaround
412
413     reporters:
414         - findbugs
415
416     publishers:
417         - sonar:
418             language: 'java'
419             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
420         - email-notification:
421             email-prefix: '[vtn]'
422         - jacoco-report
423
424 - job-template:
425     name: 'vtn-clm'
426
427     project-type: maven
428     node: dynamic_verify
429     jdk: 'openjdk7'
430
431     logrotate:
432         daysToKeep: '{build-days-to-keep}'
433         numToKeep: '{build-num-to-keep}'
434         artifactDaysToKeep: '{build-artifact-days-to-keep}'
435         artifactNumToKeep: '{build-artifact-num-to-keep}'
436
437     parameters:
438         - project-parameter:
439             project: '{project}'
440
441     scm:
442         - git-scm:
443             credentials-id: '{ssh-credentials}'
444             refspec: ''
445             branch: 'master'
446
447     wrappers:
448         - build-timeout
449         - ssh-agent-credentials:
450             users:
451                 - '{ssh-credentials}'
452
453     triggers:
454         - timed: '@weekly'
455
456     prebuilders:
457         - wipe-org-opendaylight-repo
458
459     maven:
460         maven-name: '{mvn32}'
461         root-pom: 'pom.xml'
462         goals: 'com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
463         maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
464         settings: '{vtn-settings}'
465         global-settings: '{odl-global-settings}'
466
467     postbuilders:
468         - check-clm:
469             application-name: vtn
470
471     publishers:
472         - email-notification:
473             email-prefix: '[vtn]'
474