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