Update automated project templates
[releng/builder.git] / jjb / persistence / persistence.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: persistence
8     jobs:
9         - 'persistence-verify-{stream}'
10         - 'persistence-merge-{stream}'
11         - 'persistence-daily-{stream}'
12         - 'persistence-distribution-{stream}'
13         - 'persistence-integration-{stream}'
14         - 'persistence-sonar'
15         - 'persistence-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-lithium:
28             branch: 'stable/lithium'
29             jdk: openjdk7
30             jdks:
31                 - openjdk7
32                 - openjdk8
33
34     project: 'persistence'
35
36 # For the Job templates below replace instances of:
37 # PROJECT with your project name (eg. controller)
38 # MAVEN_GOALS with your maven goals to build
39 # MAVEN_OPTS with your maven options to build
40
41 - job-template:
42     name: 'persistence-verify-{stream}'
43
44     # Job template for ODL verify jobs
45     #
46     # The purpose of this job template is to setup a ODL verify job
47     #
48     # Required Variables:
49     #     stream:    branch with - in place of / (eg. stable-helium)
50     #     branch:    branch (eg. stable/helium)
51
52     project-type: matrix
53     node: matrix_master
54     concurrent: true
55
56     axes:
57         - axis:
58             type: slave
59             name: nodes
60             values:
61                 - dynamic_verify
62         - axis:
63             type: jdk
64             values: '{obj:jdks}'
65
66     logrotate:
67         daysToKeep: '{build-days-to-keep}'
68         numToKeep: '{build-num-to-keep}'
69         artifactDaysToKeep: '{build-artifact-days-to-keep}'
70         artifactNumToKeep: '{build-artifact-num-to-keep}'
71
72     parameters:
73         - project-parameter:
74             project: '{project}'
75         - gerrit-parameter:
76             branch: '{branch}'
77
78     scm:
79         - gerrit-trigger-scm:
80             credentials-id: '{ssh-credentials}'
81             refspec: '$GERRIT_REFSPEC'
82             choosing-strategy: 'gerrit'
83
84     wrappers:
85         - build-timeout
86         - ssh-agent-credentials:
87             users:
88                 - '{ssh-credentials}'
89
90     triggers:
91         - gerrit-trigger-patch-submitted:
92             name: 'persistence'
93             branch: '{branch}'
94
95     builders:
96         - wipe-org-opendaylight-repo
97         - maven-target:
98             maven-version: '{mvn32}'
99             pom: 'pom.xml'
100             goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
101             java-opts:
102                 - '-Xmx1024m -XX:MaxPermSize=256m'
103             settings: '{persistence-settings}'
104             global-settings: '{odl-global-settings}'
105         - jacoco-nojava-workaround
106
107     publishers:
108         - findbugs
109         - email-notification:
110             email-prefix: '[persistence]'
111         - jacoco-report
112
113 - job-template:
114     name: 'persistence-merge-{stream}'
115
116     # Job template for ODL merge jobs
117     #
118     # The purpose of this job template is to setup a ODL merge job
119     # and deploy artifacts to Nexus.
120     #
121     # Required Variables:
122     #     stream:    branch with - in place of / (eg. stable-helium)
123     #     branch:    branch (eg. stable/helium)
124
125     project-type: maven
126     node: dynamic_merge
127     jdk: '{jdk}'
128
129     logrotate:
130         daysToKeep: '{build-days-to-keep}'
131         numToKeep: '{build-num-to-keep}'
132         artifactDaysToKeep: '{build-artifact-days-to-keep}'
133         artifactNumToKeep: '{build-artifact-num-to-keep}'
134
135     parameters:
136         - project-parameter:
137             project: '{project}'
138
139     scm:
140         - gerrit-trigger-scm:
141             credentials-id: '{ssh-credentials}'
142             refspec: ''
143             choosing-strategy: 'default'
144
145     wrappers:
146         - build-timeout
147         - ssh-agent-credentials:
148             users:
149                 - '{ssh-credentials}'
150
151     triggers:
152         - gerrit-trigger-patch-merged:
153             name: 'persistence'
154             branch: '{branch}'
155
156     prebuilders:
157         - wipe-org-opendaylight-repo
158
159     maven:
160         maven-name: '{mvn32}'
161         root-pom: 'pom.xml'
162         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar -Dmerge'
163         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
164         settings: '{persistence-settings}'
165         global-settings: '{odl-global-settings}'
166
167     postbuilders:
168         - jacoco-nojava-workaround
169
170     reporters:
171         - findbugs
172
173     publishers:
174         - email-notification:
175             email-prefix: '[persistence]'
176         - maven-deploy:
177             id: ''
178             unique-version: true
179             deploy-unstable: false
180         - jacoco-report
181
182 - job-template:
183     name: 'persistence-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: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar'
230         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
231         settings: '{persistence-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: '[persistence]'
243         - jacoco-report
244
245 - job-template:
246     name: 'persistence-distribution-{stream}'
247
248     project-type: maven
249     node: dynamic_merge
250     jdk: '{jdk}'
251
252     logrotate:
253         daysToKeep: '{build-days-to-keep}'
254         numToKeep: '{build-num-to-keep}'
255         artifactDaysToKeep: '{build-artifact-days-to-keep}'
256         artifactNumToKeep: '{build-artifact-num-to-keep}'
257
258     parameters:
259         - project-parameter:
260             project: 'integration'
261
262     scm:
263         - git-scm:
264             credentials-id: '{ssh-credentials}'
265             refspec: ''
266             branch: '{branch}'
267
268     wrappers:
269         - build-timeout
270         - ssh-agent-credentials:
271             users:
272                 - '{ssh-credentials}'
273
274     triggers:
275         - reverse:
276             jobs: '{project}-merge-{stream}'
277             result: 'success'
278
279     prebuilders:
280         - wipe-org-opendaylight-repo
281
282     maven:
283         maven-name: '{mvn32}'
284         root-pom: 'pom.xml'
285         goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install source:jar javadoc:jar'
286         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
287         settings: '{integration-settings}'
288         global-settings: '{odl-global-settings}'
289
290     publishers:
291         - email-notification:
292             email-prefix: '[{project}]'
293         - maven-deploy:
294             id: ''
295             unique-version: true
296             deploy-unstable: false
297
298 - job-template:
299     name: 'persistence-integration-{stream}'
300     disabled: false
301
302     # Job template for ODL integration verify jobs
303     #
304     # This is similar to a normal verify job, but it runs
305     # when a project that's a dependency of your project
306     # is successfully built.
307     #
308     # Required Variables:
309     #     stream:    branch with - in place of / (eg. stable-helium)
310     #     branch:    branch (eg. stable/helium)
311
312     project-type: maven
313     node: dynamic_merge
314     jdk: '{jdk}'
315
316     logrotate:
317         daysToKeep: '{build-days-to-keep}'
318         numToKeep: '{build-num-to-keep}'
319         artifactDaysToKeep: '{build-artifact-days-to-keep}'
320         artifactNumToKeep: '{build-artifact-num-to-keep}'
321
322     parameters:
323         - project-parameter:
324             project: '{project}'
325
326     scm:
327         - git-scm:
328             credentials-id: '{ssh-credentials}'
329             refspec: ''
330             branch: '{branch}'
331
332     wrappers:
333         - build-timeout
334         - ssh-agent-credentials:
335             users:
336                 - '{ssh-credentials}'
337
338     triggers:
339         - reverse:
340             jobs: 'odlparent-merge-{stream}'
341             result: 'success'
342
343     prebuilders:
344         - wipe-org-opendaylight-repo
345
346     maven:
347         maven-name: '{mvn32}'
348         root-pom: 'pom.xml'
349         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar'
350         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
351         settings: '{persistence-settings}'
352         global-settings: '{odl-global-settings}'
353
354     postbuilders:
355         - jacoco-nojava-workaround
356
357     reporters:
358         - findbugs
359
360     publishers:
361         - email-notification:
362             email-prefix: '[persistence] [odlparent]'
363         - jacoco-report
364
365 - job-template:
366     name: 'persistence-sonar'
367
368     project-type: maven
369     node: dynamic_verify
370     jdk: 'openjdk7'
371
372     logrotate:
373         daysToKeep: '7'
374         numToKeep: '10'
375         artifactDaysToKeep: '1'
376         artifactNumToKeep: '1'
377
378     parameters:
379         - project-parameter:
380             project: '{project}'
381
382     scm:
383         - git-scm:
384             credentials-id: '{ssh-credentials}'
385             refspec: ''
386             branch: 'master'
387
388     wrappers:
389         - build-timeout
390         - ssh-agent-credentials:
391             users:
392                 - '{ssh-credentials}'
393
394     triggers:
395         - timed: 'H H * * *'
396
397     maven:
398         maven-name: '{mvn32}'
399         root-pom: 'pom.xml'
400         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dsonar'
401         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
402         settings: '{persistence-settings}'
403         global-settings: '{odl-global-settings}'
404
405     postbuilders:
406         - jacoco-nojava-workaround
407
408     reporters:
409         - findbugs
410
411     publishers:
412         - sonar:
413             language: 'java'
414             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
415         - email-notification:
416             email-prefix: '[persistence]'
417         - jacoco-report
418
419 - job-template:
420     name: 'persistence-clm-{stream}'
421
422     project-type: maven
423     node: dynamic_verify
424     jdk: '{jdk}'
425
426     logrotate:
427         daysToKeep: '{build-days-to-keep}'
428         numToKeep: '{build-num-to-keep}'
429         artifactDaysToKeep: '{build-artifact-days-to-keep}'
430         artifactNumToKeep: '{build-artifact-num-to-keep}'
431
432     parameters:
433         - project-parameter:
434             project: '{project}'
435
436     scm:
437         - git-scm:
438             credentials-id: '{ssh-credentials}'
439             refspec: ''
440             branch: '{branch}'
441
442     wrappers:
443         - build-timeout
444         - ssh-agent-credentials:
445             users:
446                 - '{ssh-credentials}'
447
448     triggers:
449         - timed: '@weekly'
450
451     prebuilders:
452         - wipe-org-opendaylight-repo
453
454     maven:
455         maven-name: '{mvn32}'
456         root-pom: 'pom.xml'
457         goals: 'com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
458         maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
459         settings: '{persistence-settings}'
460         global-settings: '{odl-global-settings}'
461
462     postbuilders:
463         - check-clm:
464             application-name: persistence
465
466     publishers:
467         - email-notification:
468             email-prefix: '[persistence]'
469