Move distribution template to releng
[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-distribution-{stream}'
13         - 'packetcable-integration-{stream}'
14         - 'packetcable-sonar'
15         - 'packetcable-clm'
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: 'packetcable'
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: 'packetcable-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: 'packetcable'
96             branch: '{branch}'
97
98     builders:
99         - wipe-org-opendaylight-repo
100         - maven-target:
101             maven-version: '{mvn32}'
102             pom: 'pom.xml'
103             goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
104             java-opts:
105                 - '-Xmx1024m -XX:MaxPermSize=256m'
106             settings: '{packetcable-settings}'
107             global-settings: '{odl-global-settings}'
108         - jacoco-nojava-workaround
109
110     publishers:
111         - findbugs
112         - email-notification:
113             email-prefix: '[packetcable]'
114         - jacoco-report
115
116 - job-template:
117     name: 'packetcable-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: 'packetcable'
157             branch: '{branch}'
158
159     prebuilders:
160         - wipe-org-opendaylight-repo
161
162     maven:
163         maven-name: '{mvn32}'
164         root-pom: 'pom.xml'
165         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar'
166         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
167         settings: '{packetcable-settings}'
168         global-settings: '{odl-global-settings}'
169
170     postbuilders:
171         - jacoco-nojava-workaround
172
173     reporters:
174         - findbugs
175
176     publishers:
177         
178         - email-notification:
179             email-prefix: '[packetcable]'
180         - maven-deploy:
181             id: ''
182             unique-version: true
183             deploy-unstable: false
184         - jacoco-report
185
186 - job-template:
187     name: 'packetcable-daily-{stream}'
188
189     # Job template for daily builders
190     #
191     # The purpose of this job template is to setup a daily/nightly
192     # builder and pushes to Sonar analysis.
193     #
194     # Required Variables:
195     #     stream:    branch with - in place of / (eg. stable-helium)
196     #     branch:    branch (eg. stable/helium)
197
198     project-type: maven
199     node: dynamic_verify
200     jdk: '{jdk}'
201
202     logrotate:
203         daysToKeep: '{build-days-to-keep}'
204         numToKeep: '{build-num-to-keep}'
205         artifactDaysToKeep: '{build-artifact-days-to-keep}'
206         artifactNumToKeep: '{build-artifact-num-to-keep}'
207
208     parameters:
209         - project-parameter:
210             project: '{project}'
211
212     scm:
213         - git-scm:
214             credentials-id: '{ssh-credentials}'
215             refspec: ''
216             branch: '{branch}'
217
218     wrappers:
219         - build-timeout
220         - ssh-agent-credentials:
221             users:
222                 - '{ssh-credentials}'
223
224     triggers:
225         - timed: 'H H * * *'
226
227     prebuilders:
228         - wipe-org-opendaylight-repo
229
230     maven:
231         maven-name: '{mvn32}'
232         root-pom: 'pom.xml'
233         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar'
234         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
235         settings: '{packetcable-settings}'
236         global-settings: '{odl-global-settings}'
237
238     postbuilders:
239         - jacoco-nojava-workaround
240
241     reporters:
242         - findbugs
243
244     publishers:
245         - email-notification:
246             email-prefix: '[packetcable]'
247         - jacoco-report
248
249 - job-template:
250     name: 'packetcable-distribution-{stream}'
251
252     project-type: maven
253     node: dynamic_merge
254     jdk: '{jdk}'
255
256     logrotate:
257         daysToKeep: '{build-days-to-keep}'
258         numToKeep: '{build-num-to-keep}'
259         artifactDaysToKeep: '{build-artifact-days-to-keep}'
260         artifactNumToKeep: '{build-artifact-num-to-keep}'
261
262     parameters:
263         - project-parameter:
264             project: 'integration'
265
266     scm:
267         - git-scm:
268             credentials-id: '{ssh-credentials}'
269             refspec: ''
270             branch: '{branch}'
271
272     wrappers:
273         - build-timeout
274         - ssh-agent-credentials:
275             users:
276                 - '{ssh-credentials}'
277
278     triggers:
279         - reverse:
280             jobs: '{project}-merge-{stream}'
281             result: 'success'
282
283     prebuilders:
284         - wipe-org-opendaylight-repo
285
286     maven:
287         maven-name: '{mvn32}'
288         root-pom: 'pom.xml'
289         goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install source:jar javadoc:jar'
290         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
291         settings: '{integration-settings}'
292         global-settings: '{odl-global-settings}'
293
294     publishers:
295         - email-notification:
296             email-prefix: '[{project}]'
297         - maven-deploy:
298             id: ''
299             unique-version: true
300             deploy-unstable: false
301
302 - job-template:
303     name: 'packetcable-integration-{stream}'
304     disabled: false
305
306     # Job template for ODL integration verify jobs
307     #
308     # This is similar to a normal verify job, but it runs
309     # when a project that's a dependency of your project
310     # is successfully built.
311     #
312     # Required Variables:
313     #     stream:    branch with - in place of / (eg. stable-helium)
314     #     branch:    branch (eg. stable/helium)
315
316     project-type: maven
317     node: dynamic_merge
318     jdk: '{jdk}'
319
320     logrotate:
321         daysToKeep: '{build-days-to-keep}'
322         numToKeep: '{build-num-to-keep}'
323         artifactDaysToKeep: '{build-artifact-days-to-keep}'
324         artifactNumToKeep: '{build-artifact-num-to-keep}'
325
326     parameters:
327         - project-parameter:
328             project: '{project}'
329
330     scm:
331         - git-scm:
332             credentials-id: '{ssh-credentials}'
333             refspec: ''
334             branch: '{branch}'
335
336     wrappers:
337         - build-timeout
338         - ssh-agent-credentials:
339             users:
340                 - '{ssh-credentials}'
341
342     triggers:
343         - reverse:
344             jobs: 'odlparent-merge-{stream},controller-merge-{stream},yangtools-merge-{stream}'
345             result: 'success'
346
347     prebuilders:
348         - wipe-org-opendaylight-repo
349
350     maven:
351         maven-name: '{mvn32}'
352         root-pom: 'pom.xml'
353         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar'
354         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
355         settings: '{packetcable-settings}'
356         global-settings: '{odl-global-settings}'
357
358     postbuilders:
359         - jacoco-nojava-workaround
360
361     reporters:
362         - findbugs
363
364     publishers:
365         - email-notification:
366             email-prefix: '[packetcable] [odlparent] [controller] [yangtools]'
367         - jacoco-report
368
369 - job-template:
370     name: 'packetcable-sonar'
371
372     project-type: maven
373     node: dynamic_verify
374     jdk: 'openjdk7'
375
376     logrotate:
377         daysToKeep: '7'
378         numToKeep: '10'
379         artifactDaysToKeep: '1'
380         artifactNumToKeep: '1'
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: 'H H * * *'
400
401     maven:
402         maven-name: '{mvn32}'
403         root-pom: 'pom.xml'
404         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dsonar'
405         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
406         settings: '{packetcable-settings}'
407         global-settings: '{odl-global-settings}'
408
409     postbuilders:
410         - jacoco-nojava-workaround
411
412     reporters:
413         - findbugs
414
415     publishers:
416         - sonar:
417             language: 'java'
418             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
419         - email-notification:
420             email-prefix: '[packetcable]'
421         - jacoco-report
422
423 - job-template:
424     name: 'packetcable-clm'
425
426     project-type: maven
427     node: dynamic_verify
428     jdk: 'openjdk7'
429
430     logrotate:
431         daysToKeep: '{build-days-to-keep}'
432         numToKeep: '{build-num-to-keep}'
433         artifactDaysToKeep: '{build-artifact-days-to-keep}'
434         artifactNumToKeep: '{build-artifact-num-to-keep}'
435
436     parameters:
437         - project-parameter:
438             project: '{project}'
439
440     scm:
441         - git-scm:
442             credentials-id: '{ssh-credentials}'
443             refspec: ''
444             branch: 'master'
445
446     wrappers:
447         - build-timeout
448         - ssh-agent-credentials:
449             users:
450                 - '{ssh-credentials}'
451
452     triggers:
453         - timed: '@weekly'
454
455     prebuilders:
456         - wipe-org-opendaylight-repo
457
458     maven:
459         maven-name: '{mvn32}'
460         root-pom: 'pom.xml'
461         goals: 'com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
462         maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
463         settings: '{packetcable-settings}'
464         global-settings: '{odl-global-settings}'
465
466     postbuilders:
467         - check-clm:
468             application-name: packetcable
469
470     publishers:
471         - email-notification:
472             email-prefix: '[packetcable]'
473