Update automated 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:    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 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:    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: '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:    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: '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:    release stream (eg. stable-lithium or beryllium)
197     #     branch:    git branch (eg. stable/lithium or master)
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     # Required variables:
252     #     stream:    release stream (eg. stable-lithium or beryllium)
253     #     branch:    git branch (eg. stable/lithium or master)
254
255     project-type: maven
256     node: dynamic_merge
257     jdk: '{jdk}'
258
259     logrotate:
260         daysToKeep: '{build-days-to-keep}'
261         numToKeep: '{build-num-to-keep}'
262         artifactDaysToKeep: '{build-artifact-days-to-keep}'
263         artifactNumToKeep: '{build-artifact-num-to-keep}'
264
265     parameters:
266         - project-parameter:
267             project: 'integration'
268
269     scm:
270         - git-scm:
271             credentials-id: '{ssh-credentials}'
272             refspec: ''
273             branch: '{branch}'
274
275     wrappers:
276         - build-timeout
277         - ssh-agent-credentials:
278             users:
279                 - '{ssh-credentials}'
280
281     triggers:
282         - reverse:
283             jobs: '{project}-merge-{stream}'
284             result: 'success'
285
286     prebuilders:
287         - wipe-org-opendaylight-repo
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: 'openflowplugin-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},controller-merge-{stream},openflowjava-merge-{stream}'
348             result: 'success'
349
350     prebuilders:
351         - wipe-org-opendaylight-repo
352         - jacoco-nojava-workaround
353
354     maven:
355         maven-name: '{mvn33}'
356         root-pom: 'pom.xml'
357         goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install javadoc:aggregate'
358         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
359         settings: '{openflowplugin-settings}'
360         global-settings: '{odl-global-settings}'
361
362     reporters:
363         - findbugs
364
365     publishers:
366         - email-notification:
367             email-prefix: '[openflowplugin] [odlparent] [yangtools] [controller] [openflowjava]'
368         - jacoco-report
369
370 - job-template:
371     name: 'openflowplugin-sonar'
372
373     project-type: maven
374     node: dynamic_verify
375     jdk: 'openjdk7'
376
377     logrotate:
378         daysToKeep: '7'
379         numToKeep: '10'
380         artifactDaysToKeep: '1'
381         artifactNumToKeep: '1'
382
383     parameters:
384         - project-parameter:
385             project: '{project}'
386
387     scm:
388         - git-scm:
389             credentials-id: '{ssh-credentials}'
390             refspec: ''
391             branch: 'master'
392
393     wrappers:
394         - build-timeout
395         - ssh-agent-credentials:
396             users:
397                 - '{ssh-credentials}'
398
399     triggers:
400         - timed: 'H H * * *'
401         - gerrit-trigger-patch-sonar:
402             name: 'openflowplugin'
403
404     prebuilders:
405         - wipe-org-opendaylight-repo
406         - jacoco-nojava-workaround
407
408     maven:
409         maven-name: '{mvn33}'
410         root-pom: 'pom.xml'
411         goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install javadoc:aggregate -Dsonar'
412         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
413         settings: '{openflowplugin-settings}'
414         global-settings: '{odl-global-settings}'
415
416     reporters:
417         - findbugs
418
419     publishers:
420         - sonar:
421             language: 'java'
422             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
423         - email-notification:
424             email-prefix: '[openflowplugin]'
425         - jacoco-report
426
427 - job-template:
428     name: 'openflowplugin-clm-{stream}'
429
430     project-type: maven
431     node: dynamic_verify
432     jdk: '{jdk}'
433
434     logrotate:
435         daysToKeep: '{build-days-to-keep}'
436         numToKeep: '{build-num-to-keep}'
437         artifactDaysToKeep: '{build-artifact-days-to-keep}'
438         artifactNumToKeep: '{build-artifact-num-to-keep}'
439
440     parameters:
441         - project-parameter:
442             project: '{project}'
443
444     scm:
445         - git-scm:
446             credentials-id: '{ssh-credentials}'
447             refspec: ''
448             branch: '{branch}'
449
450     wrappers:
451         - build-timeout
452         - ssh-agent-credentials:
453             users:
454                 - '{ssh-credentials}'
455
456     triggers:
457         - timed: '@weekly'
458
459     prebuilders:
460         - wipe-org-opendaylight-repo
461
462     maven:
463         maven-name: '{mvn33}'
464         root-pom: 'pom.xml'
465         goals: 'com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
466         maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
467         settings: '{openflowplugin-settings}'
468         global-settings: '{odl-global-settings}'
469
470     postbuilders:
471         - check-clm:
472             application-name: openflowplugin
473
474     publishers:
475         - email-notification:
476             email-prefix: '[openflowplugin]'
477