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         - maven-target:
103             maven-version: '{mvn33}'
104             pom: 'pom.xml'
105             goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install javadoc:aggregate'
106             java-opts:
107                 - '-Xmx1024m -XX:MaxPermSize=256m'
108             settings: '{openflowplugin-settings}'
109             global-settings: '{odl-global-settings}'
110         - jacoco-nojava-workaround
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
164     maven:
165         maven-name: '{mvn33}'
166         root-pom: 'pom.xml'
167         goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install javadoc:aggregate -Dmerge'
168         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
169         settings: '{openflowplugin-settings}'
170         global-settings: '{odl-global-settings}'
171
172     postbuilders:
173         - jacoco-nojava-workaround
174
175     reporters:
176         - findbugs
177
178     publishers:
179         - archive-artifacts:
180             artifacts: 'model/*/target/site/**'
181         - email-notification:
182             email-prefix: '[openflowplugin]'
183         - maven-deploy:
184             id: ''
185             unique-version: true
186             deploy-unstable: false
187         - jacoco-report
188
189 - job-template:
190     name: 'openflowplugin-daily-{stream}'
191
192     # Job template for daily builders
193     #
194     # The purpose of this job template is to setup a daily/nightly
195     # builder and pushes to Sonar analysis.
196     #
197     # Required Variables:
198     #     stream:    branch with - in place of / (eg. stable-helium)
199     #     branch:    branch (eg. stable/helium)
200
201     project-type: maven
202     node: dynamic_verify
203     jdk: '{jdk}'
204
205     logrotate:
206         daysToKeep: '{build-days-to-keep}'
207         numToKeep: '{build-num-to-keep}'
208         artifactDaysToKeep: '{build-artifact-days-to-keep}'
209         artifactNumToKeep: '{build-artifact-num-to-keep}'
210
211     parameters:
212         - project-parameter:
213             project: '{project}'
214
215     scm:
216         - git-scm:
217             credentials-id: '{ssh-credentials}'
218             refspec: ''
219             branch: '{branch}'
220
221     wrappers:
222         - build-timeout
223         - ssh-agent-credentials:
224             users:
225                 - '{ssh-credentials}'
226
227     triggers:
228         - timed: 'H H * * *'
229
230     prebuilders:
231         - wipe-org-opendaylight-repo
232
233     maven:
234         maven-name: '{mvn33}'
235         root-pom: 'pom.xml'
236         goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install javadoc:aggregate'
237         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
238         settings: '{openflowplugin-settings}'
239         global-settings: '{odl-global-settings}'
240
241     postbuilders:
242         - jacoco-nojava-workaround
243
244     reporters:
245         - findbugs
246
247     publishers:
248         - email-notification:
249             email-prefix: '[openflowplugin]'
250         - jacoco-report
251
252 - job-template:
253     name: 'openflowplugin-distribution-{stream}'
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:    branch with - in place of / (eg. stable-helium)
317     #     branch:    branch (eg. stable/helium)
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
353     maven:
354         maven-name: '{mvn33}'
355         root-pom: 'pom.xml'
356         goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install javadoc:aggregate'
357         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
358         settings: '{openflowplugin-settings}'
359         global-settings: '{odl-global-settings}'
360
361     postbuilders:
362         - jacoco-nojava-workaround
363
364     reporters:
365         - findbugs
366
367     publishers:
368         - email-notification:
369             email-prefix: '[openflowplugin] [odlparent] [yangtools] [controller] [openflowjava]'
370         - jacoco-report
371
372 - job-template:
373     name: 'openflowplugin-sonar'
374
375     project-type: maven
376     node: dynamic_verify
377     jdk: 'openjdk7'
378
379     logrotate:
380         daysToKeep: '7'
381         numToKeep: '10'
382         artifactDaysToKeep: '1'
383         artifactNumToKeep: '1'
384
385     parameters:
386         - project-parameter:
387             project: '{project}'
388
389     scm:
390         - git-scm:
391             credentials-id: '{ssh-credentials}'
392             refspec: ''
393             branch: 'master'
394
395     wrappers:
396         - build-timeout
397         - ssh-agent-credentials:
398             users:
399                 - '{ssh-credentials}'
400
401     triggers:
402         - timed: 'H H * * *'
403
404     maven:
405         maven-name: '{mvn33}'
406         root-pom: 'pom.xml'
407         goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install javadoc:aggregate -Dsonar'
408         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
409         settings: '{openflowplugin-settings}'
410         global-settings: '{odl-global-settings}'
411
412     postbuilders:
413         - jacoco-nojava-workaround
414
415     reporters:
416         - findbugs
417
418     publishers:
419         - sonar:
420             language: 'java'
421             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
422         - email-notification:
423             email-prefix: '[openflowplugin]'
424         - jacoco-report
425
426 - job-template:
427     name: 'openflowplugin-clm-{stream}'
428
429     project-type: maven
430     node: dynamic_verify
431     jdk: '{jdk}'
432
433     logrotate:
434         daysToKeep: '{build-days-to-keep}'
435         numToKeep: '{build-num-to-keep}'
436         artifactDaysToKeep: '{build-artifact-days-to-keep}'
437         artifactNumToKeep: '{build-artifact-num-to-keep}'
438
439     parameters:
440         - project-parameter:
441             project: '{project}'
442
443     scm:
444         - git-scm:
445             credentials-id: '{ssh-credentials}'
446             refspec: ''
447             branch: '{branch}'
448
449     wrappers:
450         - build-timeout
451         - ssh-agent-credentials:
452             users:
453                 - '{ssh-credentials}'
454
455     triggers:
456         - timed: '@weekly'
457
458     prebuilders:
459         - wipe-org-opendaylight-repo
460
461     maven:
462         maven-name: '{mvn33}'
463         root-pom: 'pom.xml'
464         goals: 'com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
465         maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
466         settings: '{openflowplugin-settings}'
467         global-settings: '{odl-global-settings}'
468
469     postbuilders:
470         - check-clm:
471             application-name: openflowplugin
472
473     publishers:
474         - email-notification:
475             email-prefix: '[openflowplugin]'
476