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