Merge "Add stable/lithium for vtn"
[releng/builder.git] / jjb / packetcable / packetcable.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: packetcable
8     jobs:
9         - 'packetcable-verify-{stream}'
10         - 'packetcable-merge-{stream}'
11         - 'packetcable-daily-{stream}'
12         - 'packetcable-integration-{stream}'
13         - 'packetcable-sonar'
14         - 'packetcable-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: 'packetcable'
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: 'packetcable-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: 'packetcable'
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 -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
103             java-opts:
104                 - '-Xmx1024m -XX:MaxPermSize=256m'
105             settings: '{packetcable-settings}'
106             global-settings: '{odl-global-settings}'
107         - jacoco-nojava-workaround
108
109     publishers:
110         - findbugs
111         - email-notification:
112             email-prefix: '[packetcable]'
113         - jacoco-report
114
115 - job-template:
116     name: 'packetcable-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: 'packetcable'
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 -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: '{packetcable-settings}'
167         global-settings: '{odl-global-settings}'
168
169     postbuilders:
170         - jacoco-nojava-workaround
171
172     reporters:
173         - findbugs
174
175     publishers:
176         
177         - email-notification:
178             email-prefix: '[packetcable]'
179         - maven-deploy:
180             id: ''
181             unique-version: true
182             deploy-unstable: false
183         - jacoco-report
184
185 - job-template:
186     name: 'packetcable-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
229     maven:
230         maven-name: '{mvn32}'
231         root-pom: 'pom.xml'
232         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar'
233         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
234         settings: '{packetcable-settings}'
235         global-settings: '{odl-global-settings}'
236
237     postbuilders:
238         - jacoco-nojava-workaround
239
240     reporters:
241         - findbugs
242
243     publishers:
244         - email-notification:
245             email-prefix: '[packetcable]'
246         - jacoco-report
247
248 - job-template:
249     name: 'packetcable-integration-{stream}'
250     disabled: false
251
252     # Job template for ODL integration verify jobs
253     #
254     # This is similar to a normal verify job, but it runs
255     # when a project that's a dependency of your project
256     # is successfully built.
257     #
258     # Required Variables:
259     #     stream:    branch with - in place of / (eg. stable-helium)
260     #     branch:    branch (eg. stable/helium)
261
262     project-type: maven
263     node: dynamic_merge
264     jdk: '{jdk}'
265
266     logrotate:
267         daysToKeep: '{build-days-to-keep}'
268         numToKeep: '{build-num-to-keep}'
269         artifactDaysToKeep: '{build-artifact-days-to-keep}'
270         artifactNumToKeep: '{build-artifact-num-to-keep}'
271
272     parameters:
273         - project-parameter:
274             project: '{project}'
275
276     scm:
277         - git-scm:
278             credentials-id: '{ssh-credentials}'
279             refspec: ''
280             branch: '{branch}'
281
282     wrappers:
283         - build-timeout
284         - ssh-agent-credentials:
285             users:
286                 - '{ssh-credentials}'
287
288     triggers:
289         - reverse:
290             jobs: 'odlparent-merge-{stream},controller-merge-{stream},yangtools-merge-{stream}'
291             result: 'success'
292
293     prebuilders:
294         - wipe-org-opendaylight-repo
295
296     maven:
297         maven-name: '{mvn32}'
298         root-pom: 'pom.xml'
299         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar'
300         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
301         settings: '{packetcable-settings}'
302         global-settings: '{odl-global-settings}'
303
304     postbuilders:
305         - jacoco-nojava-workaround
306
307     reporters:
308         - findbugs
309
310     publishers:
311         - email-notification:
312             email-prefix: '[packetcable] [odlparent] [controller] [yangtools]'
313         - jacoco-report
314
315 - job-template:
316     name: 'packetcable-sonar'
317
318     project-type: maven
319     node: dynamic_verify
320     jdk: 'openjdk7'
321
322     logrotate:
323         daysToKeep: '7'
324         numToKeep: '10'
325         artifactDaysToKeep: '1'
326         artifactNumToKeep: '1'
327
328     parameters:
329         - project-parameter:
330             project: '{project}'
331
332     scm:
333         - git-scm:
334             credentials-id: '{ssh-credentials}'
335             refspec: ''
336             branch: 'master'
337
338     wrappers:
339         - build-timeout
340         - ssh-agent-credentials:
341             users:
342                 - '{ssh-credentials}'
343
344     triggers:
345         - timed: 'H H * * *'
346
347     maven:
348         maven-name: '{mvn32}'
349         root-pom: 'pom.xml'
350         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dsonar'
351         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
352         settings: '{packetcable-settings}'
353         global-settings: '{odl-global-settings}'
354
355     postbuilders:
356         - jacoco-nojava-workaround
357
358     reporters:
359         - findbugs
360
361     publishers:
362         - sonar:
363             language: 'java'
364             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
365         - email-notification:
366             email-prefix: '[packetcable]'
367         - jacoco-report
368
369 - job-template:
370     name: 'packetcable-clm'
371
372     project-type: maven
373     node: dynamic_verify
374     jdk: 'openjdk7'
375
376     logrotate:
377         daysToKeep: '{build-days-to-keep}'
378         numToKeep: '{build-num-to-keep}'
379         artifactDaysToKeep: '{build-artifact-days-to-keep}'
380         artifactNumToKeep: '{build-artifact-num-to-keep}'
381
382     parameters:
383         - project-parameter:
384             project: '{project}'
385
386     scm:
387         - git-scm:
388             credentials-id: '{ssh-credentials}'
389             refspec: ''
390             branch: 'master'
391
392     wrappers:
393         - build-timeout
394         - ssh-agent-credentials:
395             users:
396                 - '{ssh-credentials}'
397
398     triggers:
399         - timed: '@weekly'
400
401     prebuilders:
402         - wipe-org-opendaylight-repo
403
404     maven:
405         maven-name: '{mvn32}'
406         root-pom: 'pom.xml'
407         goals: 'com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
408         maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
409         settings: '{packetcable-settings}'
410         global-settings: '{odl-global-settings}'
411
412     postbuilders:
413         - check-clm:
414             application-name: packetcable
415
416     publishers:
417         - email-notification:
418             email-prefix: '[packetcable]'
419