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