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