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