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