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