Update automated project templates
[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:    branch with - in place of / (eg. stable-helium)
19     # branch:    branch (eg. stable/helium)
20     stream:
21         - master:
22             branch: 'master'
23             jdk: openjdk7
24             jdks:
25                 - openjdk7
26                 - openjdk8
27         - stable-helium:
28             branch: 'stable/helium'
29             jdk: openjdk7
30             jdks:
31                 - openjdk7
32         - stable-lithium:
33             branch: 'stable/lithium'
34             jdk: openjdk7
35             jdks:
36                 - openjdk7
37                 - openjdk8
38
39     project: 'openflowplugin'
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: 'openflowplugin-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:    branch with - in place of / (eg. stable-helium)
55     #     branch:    branch (eg. stable/helium)
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: 'openflowplugin'
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 install javadoc:aggregate'
107             java-opts:
108                 - '-Xmx1024m -XX:MaxPermSize=256m'
109             settings: '{openflowplugin-settings}'
110             global-settings: '{odl-global-settings}'
111
112     publishers:
113         - findbugs
114         - email-notification:
115             email-prefix: '[openflowplugin]'
116         - jacoco-report
117
118 - job-template:
119     name: 'openflowplugin-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:    branch with - in place of / (eg. stable-helium)
128     #     branch:    branch (eg. stable/helium)
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: 'openflowplugin'
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 install javadoc:aggregate -Dmerge'
169         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
170         settings: '{openflowplugin-settings}'
171         global-settings: '{odl-global-settings}'
172
173     reporters:
174         - findbugs
175
176     publishers:
177         - archive-artifacts:
178             artifacts: 'model/*/target/site/**'
179         - email-notification:
180             email-prefix: '[openflowplugin]'
181         - maven-deploy:
182             id: ''
183             unique-version: true
184             deploy-unstable: false
185         - jacoco-report
186
187 - job-template:
188     name: 'openflowplugin-daily-{stream}'
189
190     # Job template for daily builders
191     #
192     # The purpose of this job template is to setup a daily/nightly
193     # builder and pushes to Sonar analysis.
194     #
195     # Required Variables:
196     #     stream:    branch with - in place of / (eg. stable-helium)
197     #     branch:    branch (eg. stable/helium)
198
199     project-type: maven
200     node: dynamic_verify
201     jdk: '{jdk}'
202
203     logrotate:
204         daysToKeep: '{build-days-to-keep}'
205         numToKeep: '{build-num-to-keep}'
206         artifactDaysToKeep: '{build-artifact-days-to-keep}'
207         artifactNumToKeep: '{build-artifact-num-to-keep}'
208
209     parameters:
210         - project-parameter:
211             project: '{project}'
212
213     scm:
214         - git-scm:
215             credentials-id: '{ssh-credentials}'
216             refspec: ''
217             branch: '{branch}'
218
219     wrappers:
220         - build-timeout
221         - ssh-agent-credentials:
222             users:
223                 - '{ssh-credentials}'
224
225     triggers:
226         - timed: 'H H * * *'
227
228     prebuilders:
229         - wipe-org-opendaylight-repo
230         - jacoco-nojava-workaround
231
232     maven:
233         maven-name: '{mvn33}'
234         root-pom: 'pom.xml'
235         goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install javadoc:aggregate'
236         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
237         settings: '{openflowplugin-settings}'
238         global-settings: '{odl-global-settings}'
239
240     reporters:
241         - findbugs
242
243     publishers:
244         - email-notification:
245             email-prefix: '[openflowplugin]'
246         - jacoco-report
247
248 - job-template:
249     name: 'openflowplugin-distribution-{stream}'
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
285     maven:
286         maven-name: '{mvn33}'
287         root-pom: 'pom.xml'
288         goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install'
289         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
290         settings: '{integration-settings}'
291         global-settings: '{odl-global-settings}'
292
293     publishers:
294         - email-notification:
295             email-prefix: '[{project}]'
296         - maven-deploy:
297             id: ''
298             unique-version: true
299             deploy-unstable: false
300
301 - job-template:
302     name: 'openflowplugin-integration-{stream}'
303     disabled: false
304
305     # Job template for ODL integration verify jobs
306     #
307     # This is similar to a normal verify job, but it runs
308     # when a project that's a dependency of your project
309     # is successfully built.
310     #
311     # Required Variables:
312     #     stream:    branch with - in place of / (eg. stable-helium)
313     #     branch:    branch (eg. stable/helium)
314
315     project-type: maven
316     node: dynamic_merge
317     jdk: '{jdk}'
318
319     logrotate:
320         daysToKeep: '{build-days-to-keep}'
321         numToKeep: '{build-num-to-keep}'
322         artifactDaysToKeep: '{build-artifact-days-to-keep}'
323         artifactNumToKeep: '{build-artifact-num-to-keep}'
324
325     parameters:
326         - project-parameter:
327             project: '{project}'
328
329     scm:
330         - git-scm:
331             credentials-id: '{ssh-credentials}'
332             refspec: ''
333             branch: '{branch}'
334
335     wrappers:
336         - build-timeout
337         - ssh-agent-credentials:
338             users:
339                 - '{ssh-credentials}'
340
341     triggers:
342         - reverse:
343             jobs: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream},openflowjava-merge-{stream}'
344             result: 'success'
345
346     prebuilders:
347         - wipe-org-opendaylight-repo
348         - jacoco-nojava-workaround
349
350     maven:
351         maven-name: '{mvn33}'
352         root-pom: 'pom.xml'
353         goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install javadoc:aggregate'
354         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
355         settings: '{openflowplugin-settings}'
356         global-settings: '{odl-global-settings}'
357
358     reporters:
359         - findbugs
360
361     publishers:
362         - email-notification:
363             email-prefix: '[openflowplugin] [odlparent] [yangtools] [controller] [openflowjava]'
364         - jacoco-report
365
366 - job-template:
367     name: 'openflowplugin-sonar'
368
369     project-type: maven
370     node: dynamic_verify
371     jdk: 'openjdk7'
372
373     logrotate:
374         daysToKeep: '7'
375         numToKeep: '10'
376         artifactDaysToKeep: '1'
377         artifactNumToKeep: '1'
378
379     parameters:
380         - project-parameter:
381             project: '{project}'
382
383     scm:
384         - git-scm:
385             credentials-id: '{ssh-credentials}'
386             refspec: ''
387             branch: 'master'
388
389     wrappers:
390         - build-timeout
391         - ssh-agent-credentials:
392             users:
393                 - '{ssh-credentials}'
394
395     triggers:
396         - timed: 'H H * * *'
397
398     prebuilders:
399         - wipe-org-opendaylight-repo
400         - jacoco-nojava-workaround
401
402     maven:
403         maven-name: '{mvn33}'
404         root-pom: 'pom.xml'
405         goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install javadoc:aggregate -Dsonar'
406         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
407         settings: '{openflowplugin-settings}'
408         global-settings: '{odl-global-settings}'
409
410     reporters:
411         - findbugs
412
413     publishers:
414         - sonar:
415             language: 'java'
416             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
417         - email-notification:
418             email-prefix: '[openflowplugin]'
419         - jacoco-report
420
421 - job-template:
422     name: 'openflowplugin-clm-{stream}'
423
424     project-type: maven
425     node: dynamic_verify
426     jdk: '{jdk}'
427
428     logrotate:
429         daysToKeep: '{build-days-to-keep}'
430         numToKeep: '{build-num-to-keep}'
431         artifactDaysToKeep: '{build-artifact-days-to-keep}'
432         artifactNumToKeep: '{build-artifact-num-to-keep}'
433
434     parameters:
435         - project-parameter:
436             project: '{project}'
437
438     scm:
439         - git-scm:
440             credentials-id: '{ssh-credentials}'
441             refspec: ''
442             branch: '{branch}'
443
444     wrappers:
445         - build-timeout
446         - ssh-agent-credentials:
447             users:
448                 - '{ssh-credentials}'
449
450     triggers:
451         - timed: '@weekly'
452
453     prebuilders:
454         - wipe-org-opendaylight-repo
455
456     maven:
457         maven-name: '{mvn33}'
458         root-pom: 'pom.xml'
459         goals: 'com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
460         maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
461         settings: '{openflowplugin-settings}'
462         global-settings: '{odl-global-settings}'
463
464     postbuilders:
465         - check-clm:
466             application-name: openflowplugin
467
468     publishers:
469         - email-notification:
470             email-prefix: '[openflowplugin]'
471