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