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