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