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