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