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-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 merge jobs
249     #
250     # The purpose of this job template is to setup a ODL merge job
251     # and deploy artifacts to Nexus.
252     #
253     # Required Variables:
254     #     stream:    branch with - in place of / (eg. stable-helium)
255     #     branch:    branch (eg. stable/helium)
256
257     project-type: maven
258     node: dynamic_merge
259     jdk: '{jdk}'
260
261     logrotate:
262         daysToKeep: '{build-days-to-keep}'
263         numToKeep: '{build-num-to-keep}'
264         artifactDaysToKeep: '{build-artifact-days-to-keep}'
265         artifactNumToKeep: '{build-artifact-num-to-keep}'
266
267     parameters:
268         - project-parameter:
269             project: '{project}'
270
271     scm:
272         - git-scm:
273             credentials-id: '{ssh-credentials}'
274             refspec: ''
275             branch: '{branch}'
276
277     wrappers:
278         - build-timeout
279         - ssh-agent-credentials:
280             users:
281                 - '{ssh-credentials}'
282
283     triggers:
284         - reverse:
285             jobs: 'odlparent-merge-{stream},controller-merge-{stream},yangtools-merge-{stream},openflowplugin-merge-{stream},ovsdb-merge-{stream},neutron-merge-{stream}'
286             result: 'success'
287
288     prebuilders:
289         - wipe-org-opendaylight-repo
290
291     maven:
292         maven-name: '{mvn32}'
293         root-pom: 'pom.xml'
294         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'
295         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
296         settings: '{vtn-settings}'
297         global-settings: '{odl-global-settings}'
298
299     postbuilders:
300         - jacoco-nojava-workaround
301
302     reporters:
303         - findbugs
304
305     publishers:
306         - email-notification:
307             email-prefix: '[vtn] [odlparent] [controller] [yangtools] [openflowplugin] [ovsdb] [neutron]'
308         - jacoco-report
309
310 - job-template:
311     name: 'vtn-sonar'
312
313     project-type: maven
314     node: dynamic_verify
315     jdk: 'openjdk7'
316
317     logrotate:
318         daysToKeep: '7'
319         numToKeep: '10'
320         artifactDaysToKeep: '1'
321         artifactNumToKeep: '1'
322
323     parameters:
324         - project-parameter:
325             project: '{project}'
326
327     scm:
328         - git-scm:
329             credentials-id: '{ssh-credentials}'
330             refspec: ''
331             branch: 'master'
332
333     wrappers:
334         - build-timeout
335         - ssh-agent-credentials:
336             users:
337                 - '{ssh-credentials}'
338
339     triggers:
340         - timed: 'H H * * *'
341
342     maven:
343         maven-name: '{mvn32}'
344         root-pom: 'pom.xml'
345         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'
346         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
347         settings: '{vtn-settings}'
348         global-settings: '{odl-global-settings}'
349
350     postbuilders:
351         - jacoco-nojava-workaround
352
353     reporters:
354         - findbugs
355
356     publishers:
357         - sonar:
358             language: 'java'
359             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
360         - email-notification:
361             email-prefix: '[vtn]'
362         - jacoco-report
363
364 - job-template:
365     name: 'vtn-clm'
366
367     project-type: maven
368     node: dynamic_verify
369     jdk: 'openjdk7'
370
371     logrotate:
372         daysToKeep: '{build-days-to-keep}'
373         numToKeep: '{build-num-to-keep}'
374         artifactDaysToKeep: '{build-artifact-days-to-keep}'
375         artifactNumToKeep: '{build-artifact-num-to-keep}'
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: '@weekly'
395
396     prebuilders:
397         - wipe-org-opendaylight-repo
398
399     maven:
400         maven-name: '{mvn32}'
401         root-pom: 'pom.xml'
402         goals: 'com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
403         maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
404         settings: '{vtn-settings}'
405         global-settings: '{odl-global-settings}'
406
407     postbuilders:
408         - check-clm:
409             application-name: vtn
410
411     publishers:
412         - email-notification:
413             email-prefix: '[vtn]'
414