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