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-integration-{stream}'
13         - 'openflowplugin-sonar'
14         - 'openflowplugin-clm'
15
16
17     # stream:    branch with - in place of / (eg. stable-helium)
18     # branch:    branch (eg. stable/helium)
19     stream:
20         - master:
21             branch: 'master'
22         - stable-helium:
23             branch: 'stable/helium'
24
25     project: 'openflowplugin'
26     jdk: 'openjdk7'
27
28 # For the Job templates below replace instances of:
29 # PROJECT with your project name (eg. controller)
30 # MAVEN_GOALS with your maven goals to build
31 # MAVEN_OPTS with your maven options to build
32
33 - job-template:
34     name: 'openflowplugin-verify-{stream}'
35
36     # Job template for ODL verify jobs
37     #
38     # The purpose of this job template is to setup a ODL verify job
39     #
40     # Required Variables:
41     #     stream:    branch with - in place of / (eg. stable-helium)
42     #     branch:    branch (eg. stable/helium)
43
44     project-type: matrix
45     node: matrix_master
46     concurrent: true
47
48     axes:
49         - axis:
50             type: slave
51             name: nodes
52             values:
53                 - dynamic_verify
54         - axis:
55             type: jdk
56             values:
57                 - openjdk7
58                 - openjdk8
59
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             user: '{ssh-credentials}'
83
84     triggers:
85         - gerrit-trigger-patch-submitted:
86             name: 'openflowplugin'
87             branch: '{branch}'
88
89     builders:
90         - wipe-org-opendaylight-repo
91         - maven-target:
92             maven-version: '{mvn32}'
93             pom: 'pom.xml'
94             goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install javadoc:aggregate'
95             java-opts:
96                 - '-Xmx1024m -XX:MaxPermSize=256m'
97             settings: '{openflowplugin-settings}'
98             global-settings: '{odl-global-settings}'
99         - jacoco-nojava-workaround
100
101     publishers:
102         - findbugs
103         - email-notification:
104             email-prefix: '[openflowplugin]'
105         - jacoco-report
106
107 - job-template:
108     name: 'openflowplugin-merge-{stream}'
109
110     # Job template for ODL merge jobs
111     #
112     # The purpose of this job template is to setup a ODL merge job
113     # and deploy artifacts to Nexus.
114     #
115     # Required Variables:
116     #     stream:    branch with - in place of / (eg. stable-helium)
117     #     branch:    branch (eg. stable/helium)
118
119     project-type: maven
120     node: dynamic_merge
121     jdk: '{jdk}'
122
123     logrotate:
124         daysToKeep: '{build-days-to-keep}'
125         numToKeep: '{build-num-to-keep}'
126         artifactDaysToKeep: '{build-artifact-days-to-keep}'
127         artifactNumToKeep: '{build-artifact-num-to-keep}'
128
129     parameters:
130         - project-parameter:
131             project: '{project}'
132
133     scm:
134         - gerrit-trigger-scm:
135             credentials-id: '{ssh-credentials}'
136             refspec: ''
137             choosing-strategy: 'default'
138
139     wrappers:
140         - build-timeout
141         - ssh-agent-credentials:
142             user: '{ssh-credentials}'
143
144     triggers:
145         - gerrit-trigger-patch-merged:
146             name: 'openflowplugin'
147             branch: '{branch}'
148
149     prebuilders:
150         - wipe-org-opendaylight-repo
151
152     maven:
153         maven-name: '{mvn32}'
154         root-pom: 'pom.xml'
155         goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install javadoc:aggregate source:jar javadoc:jar'
156         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
157         settings: '{openflowplugin-settings}'
158         global-settings: '{odl-global-settings}'
159
160     postbuilders:
161         - jacoco-nojava-workaround
162
163     reporters:
164         - findbugs
165
166     publishers:
167         - archive-artifacts:
168             artifacts: 'model/*/target/site/**'
169         - email-notification:
170             email-prefix: '[openflowplugin]'
171         - maven-deploy:
172             id: ''
173             unique-version: true
174             deploy-unstable: false
175         - jacoco-report
176
177 - job-template:
178     name: 'openflowplugin-daily-{stream}'
179
180     # Job template for daily builders
181     #
182     # The purpose of this job template is to setup a daily/nightly
183     # builder and pushes to Sonar analysis.
184     #
185     # Required Variables:
186     #     stream:    branch with - in place of / (eg. stable-helium)
187     #     branch:    branch (eg. stable/helium)
188
189     project-type: maven
190     node: dynamic_verify
191     jdk: '{jdk}'
192
193     logrotate:
194         daysToKeep: '{build-days-to-keep}'
195         numToKeep: '{build-num-to-keep}'
196         artifactDaysToKeep: '{build-artifact-days-to-keep}'
197         artifactNumToKeep: '{build-artifact-num-to-keep}'
198
199     parameters:
200         - project-parameter:
201             project: '{project}'
202
203     scm:
204         - git-scm:
205             credentials-id: '{ssh-credentials}'
206             refspec: ''
207             branch: '{branch}'
208
209     wrappers:
210         - build-timeout
211         - ssh-agent-credentials:
212             user: '{ssh-credentials}'
213
214     triggers:
215         - timed: 'H H * * *'
216
217     prebuilders:
218         - wipe-org-opendaylight-repo
219
220     maven:
221         maven-name: '{mvn32}'
222         root-pom: 'pom.xml'
223         goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install javadoc:aggregate source:jar javadoc:jar'
224         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
225         settings: '{openflowplugin-settings}'
226         global-settings: '{odl-global-settings}'
227
228     postbuilders:
229         - jacoco-nojava-workaround
230
231     reporters:
232         - findbugs
233
234     publishers:
235         - email-notification:
236             email-prefix: '[openflowplugin]'
237         - jacoco-report
238
239 - job-template:
240     name: 'openflowplugin-integration-{stream}'
241     disabled: false
242
243     # Job template for ODL merge jobs
244     #
245     # The purpose of this job template is to setup a ODL merge job
246     # and deploy artifacts to Nexus.
247     #
248     # Required Variables:
249     #     stream:    branch with - in place of / (eg. stable-helium)
250     #     branch:    branch (eg. stable/helium)
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: '{project}'
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             user: '{ssh-credentials}'
276
277     triggers:
278         - reverse:
279             jobs: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream},openflowjava-merge-{stream}'
280             result: 'success'
281
282     prebuilders:
283         - wipe-org-opendaylight-repo
284
285     maven:
286         maven-name: '{mvn32}'
287         root-pom: 'pom.xml'
288         goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install javadoc:aggregate source:jar javadoc:jar'
289         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
290         settings: '{openflowplugin-settings}'
291         global-settings: '{odl-global-settings}'
292
293     postbuilders:
294         - jacoco-nojava-workaround
295
296     reporters:
297         - findbugs
298
299     publishers:
300         - email-notification:
301             email-prefix: '[openflowplugin] [odlparent] [yangtools] [controller] [openflowjava]'
302         - jacoco-report
303
304 - job-template:
305     name: 'openflowplugin-sonar'
306
307     project-type: maven
308     node: dynamic_verify
309     jdk: '{jdk}'
310
311     logrotate:
312         daysToKeep: '7'
313         numToKeep: '10'
314         artifactDaysToKeep: '1'
315         artifactNumToKeep: '1'
316
317     parameters:
318         - project-parameter:
319             project: '{project}'
320
321     scm:
322         - git-scm:
323             credentials-id: '{ssh-credentials}'
324             refspec: ''
325             branch: 'master'
326
327     wrappers:
328         - build-timeout
329         - ssh-agent-credentials:
330             user: '{ssh-credentials}'
331
332     triggers:
333         - timed: 'H H * * *'
334
335     maven:
336         maven-name: '{mvn32}'
337         root-pom: 'pom.xml'
338         goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install javadoc:aggregate -Dsonar'
339         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
340         settings: '{openflowplugin-settings}'
341         global-settings: '{odl-global-settings}'
342
343     postbuilders:
344         - jacoco-nojava-workaround
345
346     reporters:
347         - findbugs
348
349     publishers:
350         - sonar:
351             language: 'java'
352             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
353         - email-notification:
354             email-prefix: '[openflowplugin]'
355         - jacoco-report
356
357 - job-template:
358     name: 'openflowplugin-clm'
359
360     project-type: maven
361     node: dynamic_verify
362     jdk: '{jdk}'
363
364     logrotate:
365         daysToKeep: '{build-days-to-keep}'
366         numToKeep: '{build-num-to-keep}'
367         artifactDaysToKeep: '{build-artifact-days-to-keep}'
368         artifactNumToKeep: '{build-artifact-num-to-keep}'
369
370     parameters:
371         - project-parameter:
372             project: '{project}'
373
374     scm:
375         - git-scm:
376             credentials-id: '{ssh-credentials}'
377             refspec: ''
378             branch: 'master'
379
380     wrappers:
381         - build-timeout
382         - ssh-agent-credentials:
383             user: '{ssh-credentials}'
384
385     triggers:
386         - timed: '@weekly'
387
388     prebuilders:
389         - wipe-org-opendaylight-repo
390
391     maven:
392         maven-name: '{mvn32}'
393         root-pom: 'pom.xml'
394         goals: 'com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
395         maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
396         settings: '{openflowplugin-settings}'
397         global-settings: '{odl-global-settings}'
398
399     postbuilders:
400         - check-clm:
401             application-name: openflowplugin
402
403     publishers:
404         - email-notification:
405             email-prefix: '[openflowplugin]'
406