Update automated templates
[releng/builder.git] / jjb / nic / nic.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: nic
8     jobs:
9         - 'nic-verify-{stream}'
10         - 'nic-merge-{stream}'
11         - 'nic-daily-{stream}'
12         - 'nic-distribution-{stream}'
13         - 'nic-integration-{stream}'
14         - 'nic-sonar'
15         - 'nic-clm-{stream}'
16
17
18     # stream:    release stream (eg. stable-lithium or beryllium)
19     # branch:    git branch (eg. stable/lithium or master)
20     stream:
21         - beryllium:
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: 'nic'
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: 'nic-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:    release stream (eg. stable-lithium or beryllium)
48     #     branch:    git branch (eg. stable/lithium or master)
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: 'nic'
91             branch: '{branch}'
92
93     builders:
94         - wipe-org-opendaylight-repo
95         - jacoco-nojava-workaround
96         - maven-target:
97             maven-version: '{mvn33}'
98             pom: 'pom.xml'
99             goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
100             java-opts:
101                 - '-Xmx1024m -XX:MaxPermSize=256m'
102             settings: '{nic-settings}'
103             global-settings: '{odl-global-settings}'
104
105     publishers:
106         - findbugs
107         - email-notification:
108             email-prefix: '[nic]'
109         - jacoco-report
110
111 - job-template:
112     name: 'nic-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:    release stream (eg. stable-lithium or beryllium)
121     #     branch:    git branch (eg. stable/lithium or master)
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: 'nic'
152             branch: '{branch}'
153
154     prebuilders:
155         - wipe-org-opendaylight-repo
156         - jacoco-nojava-workaround
157
158     maven:
159         maven-name: '{mvn33}'
160         root-pom: 'pom.xml'
161         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge'
162         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
163         settings: '{nic-settings}'
164         global-settings: '{odl-global-settings}'
165
166     reporters:
167         - findbugs
168
169     publishers:
170         - email-notification:
171             email-prefix: '[nic]'
172         - maven-deploy:
173             id: ''
174             unique-version: true
175             deploy-unstable: false
176         - jacoco-report
177
178 - job-template:
179     name: 'nic-daily-{stream}'
180
181     # Job template for daily builders
182     #
183     # The purpose of this job template is to setup a daily/nightly
184     # builder and pushes to Sonar analysis.
185     #
186     # Required Variables:
187     #     stream:    release stream (eg. stable-lithium or beryllium)
188     #     branch:    git branch (eg. stable/lithium or master)
189
190     project-type: maven
191     node: dynamic_verify
192     jdk: '{jdk}'
193
194     logrotate:
195         daysToKeep: '{build-days-to-keep}'
196         numToKeep: '{build-num-to-keep}'
197         artifactDaysToKeep: '{build-artifact-days-to-keep}'
198         artifactNumToKeep: '{build-artifact-num-to-keep}'
199
200     parameters:
201         - project-parameter:
202             project: '{project}'
203
204     scm:
205         - git-scm:
206             credentials-id: '{ssh-credentials}'
207             refspec: ''
208             branch: '{branch}'
209
210     wrappers:
211         - build-timeout
212         - ssh-agent-credentials:
213             users:
214                 - '{ssh-credentials}'
215
216     triggers:
217         - timed: 'H H * * *'
218
219     prebuilders:
220         - wipe-org-opendaylight-repo
221         - jacoco-nojava-workaround
222
223     maven:
224         maven-name: '{mvn33}'
225         root-pom: 'pom.xml'
226         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
227         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
228         settings: '{nic-settings}'
229         global-settings: '{odl-global-settings}'
230
231     reporters:
232         - findbugs
233
234     publishers:
235         - email-notification:
236             email-prefix: '[nic]'
237         - jacoco-report
238
239 - job-template:
240     name: 'nic-distribution-{stream}'
241
242     # Required variables:
243     #     stream:    release stream (eg. stable-lithium or beryllium)
244     #     branch:    git branch (eg. stable/lithium or master)
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: '{mvn33}'
282         root-pom: 'pom.xml'
283         goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install'
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: 'nic-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:    release stream (eg. stable-lithium or beryllium)
308     #     branch:    git branch (eg. stable/lithium or master)
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: 'controller-merge-{stream},odlparent-merge-{stream},vtn-merge-{stream},yangtools-merge-{stream},groupbasedpolicy-merge-{stream}'
339             result: 'success'
340
341     prebuilders:
342         - wipe-org-opendaylight-repo
343         - jacoco-nojava-workaround
344
345     maven:
346         maven-name: '{mvn33}'
347         root-pom: 'pom.xml'
348         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
349         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
350         settings: '{nic-settings}'
351         global-settings: '{odl-global-settings}'
352
353     reporters:
354         - findbugs
355
356     publishers:
357         - email-notification:
358             email-prefix: '[nic] [controller] [odlparent] [vtn] [yangtools] [groupbasedpolicy]'
359         - jacoco-report
360
361 - job-template:
362     name: 'nic-sonar'
363
364     project-type: maven
365     node: dynamic_verify
366     jdk: 'openjdk7'
367
368     logrotate:
369         daysToKeep: '7'
370         numToKeep: '10'
371         artifactDaysToKeep: '1'
372         artifactNumToKeep: '1'
373
374     parameters:
375         - project-parameter:
376             project: '{project}'
377
378     scm:
379         - git-scm:
380             credentials-id: '{ssh-credentials}'
381             refspec: ''
382             branch: 'master'
383
384     wrappers:
385         - build-timeout
386         - ssh-agent-credentials:
387             users:
388                 - '{ssh-credentials}'
389
390     triggers:
391         - timed: 'H H * * *'
392         - gerrit-trigger-patch-sonar:
393             name: 'nic'
394
395     prebuilders:
396         - wipe-org-opendaylight-repo
397         - jacoco-nojava-workaround
398
399     maven:
400         maven-name: '{mvn33}'
401         root-pom: 'pom.xml'
402         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dsonar'
403         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
404         settings: '{nic-settings}'
405         global-settings: '{odl-global-settings}'
406
407     reporters:
408         - findbugs
409
410     publishers:
411         - sonar:
412             language: 'java'
413             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
414         - email-notification:
415             email-prefix: '[nic]'
416         - jacoco-report
417
418 - job-template:
419     name: 'nic-clm-{stream}'
420
421     project-type: maven
422     node: dynamic_verify
423     jdk: '{jdk}'
424
425     logrotate:
426         daysToKeep: '{build-days-to-keep}'
427         numToKeep: '{build-num-to-keep}'
428         artifactDaysToKeep: '{build-artifact-days-to-keep}'
429         artifactNumToKeep: '{build-artifact-num-to-keep}'
430
431     parameters:
432         - project-parameter:
433             project: '{project}'
434
435     scm:
436         - git-scm:
437             credentials-id: '{ssh-credentials}'
438             refspec: ''
439             branch: '{branch}'
440
441     wrappers:
442         - build-timeout
443         - ssh-agent-credentials:
444             users:
445                 - '{ssh-credentials}'
446
447     triggers:
448         - timed: '@weekly'
449
450     prebuilders:
451         - wipe-org-opendaylight-repo
452
453     maven:
454         maven-name: '{mvn33}'
455         root-pom: 'pom.xml'
456         goals: 'com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
457         maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
458         settings: '{nic-settings}'
459         global-settings: '{odl-global-settings}'
460
461     postbuilders:
462         - check-clm:
463             application-name: nic
464
465     publishers:
466         - email-notification:
467             email-prefix: '[nic]'
468