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