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