Update automated project templates
[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-{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: '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         - jacoco-nojava-workaround
101         - maven-target:
102             maven-version: '{mvn33}'
103             pom: 'pom.xml'
104             goals: 'clean install -V -Pintegrationtests,strictcheck,docs -Dvtn.build.jobs=2 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
105             java-opts:
106                 - '-Xmx1024m -XX:MaxPermSize=256m'
107             settings: '{vtn-settings}'
108             global-settings: '{odl-global-settings}'
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         - jacoco-nojava-workaround
162
163     maven:
164         maven-name: '{mvn33}'
165         root-pom: 'pom.xml'
166         goals: 'clean install -V -Pintegrationtests,strictcheck,docs -Dvtn.build.jobs=2 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dmerge'
167         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
168         settings: '{vtn-settings}'
169         global-settings: '{odl-global-settings}'
170
171     reporters:
172         - findbugs
173
174     publishers:
175         - archive-artifacts:
176             artifacts: 'manager/dist/*/target/*.zip, coordinator/dist/target/*.bz2, manager/northbound/target/site/wsdocs/**, manager/api/target/*-javadoc.jar, manager/api/target/apidocs/**'
177         - email-notification:
178             email-prefix: '[vtn]'
179         - maven-deploy:
180             id: ''
181             unique-version: true
182             deploy-unstable: false
183         - jacoco-report
184
185 - job-template:
186     name: 'vtn-daily-{stream}'
187
188     # Job template for daily builders
189     #
190     # The purpose of this job template is to setup a daily/nightly
191     # builder and pushes to Sonar analysis.
192     #
193     # Required Variables:
194     #     stream:    branch with - in place of / (eg. stable-helium)
195     #     branch:    branch (eg. stable/helium)
196
197     project-type: maven
198     node: dynamic_verify
199     jdk: '{jdk}'
200
201     logrotate:
202         daysToKeep: '{build-days-to-keep}'
203         numToKeep: '{build-num-to-keep}'
204         artifactDaysToKeep: '{build-artifact-days-to-keep}'
205         artifactNumToKeep: '{build-artifact-num-to-keep}'
206
207     parameters:
208         - project-parameter:
209             project: '{project}'
210
211     scm:
212         - git-scm:
213             credentials-id: '{ssh-credentials}'
214             refspec: ''
215             branch: '{branch}'
216
217     wrappers:
218         - build-timeout
219         - ssh-agent-credentials:
220             users:
221                 - '{ssh-credentials}'
222
223     triggers:
224         - timed: 'H H * * *'
225
226     prebuilders:
227         - wipe-org-opendaylight-repo
228         - jacoco-nojava-workaround
229
230     maven:
231         maven-name: '{mvn33}'
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'
234         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
235         settings: '{vtn-settings}'
236         global-settings: '{odl-global-settings}'
237
238     reporters:
239         - findbugs
240
241     publishers:
242         - email-notification:
243             email-prefix: '[vtn]'
244         - jacoco-report
245
246 - job-template:
247     name: 'vtn-distribution-{stream}'
248
249     project-type: maven
250     node: dynamic_merge
251     jdk: '{jdk}'
252
253     logrotate:
254         daysToKeep: '{build-days-to-keep}'
255         numToKeep: '{build-num-to-keep}'
256         artifactDaysToKeep: '{build-artifact-days-to-keep}'
257         artifactNumToKeep: '{build-artifact-num-to-keep}'
258
259     parameters:
260         - project-parameter:
261             project: 'integration'
262
263     scm:
264         - git-scm:
265             credentials-id: '{ssh-credentials}'
266             refspec: ''
267             branch: '{branch}'
268
269     wrappers:
270         - build-timeout
271         - ssh-agent-credentials:
272             users:
273                 - '{ssh-credentials}'
274
275     triggers:
276         - reverse:
277             jobs: '{project}-merge-{stream}'
278             result: 'success'
279
280     prebuilders:
281         - wipe-org-opendaylight-repo
282
283     maven:
284         maven-name: '{mvn33}'
285         root-pom: 'pom.xml'
286         goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install'
287         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
288         settings: '{integration-settings}'
289         global-settings: '{odl-global-settings}'
290
291     publishers:
292         - email-notification:
293             email-prefix: '[{project}]'
294         - maven-deploy:
295             id: ''
296             unique-version: true
297             deploy-unstable: false
298
299 - job-template:
300     name: 'vtn-integration-{stream}'
301     disabled: false
302
303     # Job template for ODL integration verify jobs
304     #
305     # This is similar to a normal verify job, but it runs
306     # when a project that's a dependency of your project
307     # is successfully built.
308     #
309     # Required Variables:
310     #     stream:    branch with - in place of / (eg. stable-helium)
311     #     branch:    branch (eg. stable/helium)
312
313     project-type: maven
314     node: dynamic_merge
315     jdk: '{jdk}'
316
317     logrotate:
318         daysToKeep: '{build-days-to-keep}'
319         numToKeep: '{build-num-to-keep}'
320         artifactDaysToKeep: '{build-artifact-days-to-keep}'
321         artifactNumToKeep: '{build-artifact-num-to-keep}'
322
323     parameters:
324         - project-parameter:
325             project: '{project}'
326
327     scm:
328         - git-scm:
329             credentials-id: '{ssh-credentials}'
330             refspec: ''
331             branch: '{branch}'
332
333     wrappers:
334         - build-timeout
335         - ssh-agent-credentials:
336             users:
337                 - '{ssh-credentials}'
338
339     triggers:
340         - reverse:
341             jobs: 'odlparent-merge-{stream},controller-merge-{stream},yangtools-merge-{stream},openflowplugin-merge-{stream},ovsdb-merge-{stream},neutron-merge-{stream}'
342             result: 'success'
343
344     prebuilders:
345         - wipe-org-opendaylight-repo
346         - jacoco-nojava-workaround
347
348     maven:
349         maven-name: '{mvn33}'
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'
352         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
353         settings: '{vtn-settings}'
354         global-settings: '{odl-global-settings}'
355
356     reporters:
357         - findbugs
358
359     publishers:
360         - email-notification:
361             email-prefix: '[vtn] [odlparent] [controller] [yangtools] [openflowplugin] [ovsdb] [neutron]'
362         - jacoco-report
363
364 - job-template:
365     name: 'vtn-sonar'
366
367     project-type: maven
368     node: dynamic_verify
369     jdk: 'openjdk7'
370
371     logrotate:
372         daysToKeep: '7'
373         numToKeep: '10'
374         artifactDaysToKeep: '1'
375         artifactNumToKeep: '1'
376
377     parameters:
378         - project-parameter:
379             project: '{project}'
380
381     scm:
382         - git-scm:
383             credentials-id: '{ssh-credentials}'
384             refspec: ''
385             branch: 'master'
386
387     wrappers:
388         - build-timeout
389         - ssh-agent-credentials:
390             users:
391                 - '{ssh-credentials}'
392
393     triggers:
394         - timed: 'H H * * *'
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 -Pintegrationtests,strictcheck,docs -Dvtn.build.jobs=2 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dsonar'
404         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
405         settings: '{vtn-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: '[vtn]'
417         - jacoco-report
418
419 - job-template:
420     name: 'vtn-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: '{vtn-settings}'
460         global-settings: '{odl-global-settings}'
461
462     postbuilders:
463         - check-clm:
464             application-name: vtn
465
466     publishers:
467         - email-notification:
468             email-prefix: '[vtn]'
469