Merge "basic statistic collection test on 16k flows"
[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-distribution-{stream}'
13         - 'iotdm-integration-{stream}'
14         - 'iotdm-sonar'
15         - 'iotdm-clm'
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: 'iotdm'
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: 'iotdm-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: 'iotdm'
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: '{iotdm-settings}'
104             global-settings: '{odl-global-settings}'
105         - jacoco-nojava-workaround
106
107     publishers:
108         - findbugs
109         - email-notification:
110             email-prefix: '[iotdm]'
111         - jacoco-report
112
113 - job-template:
114     name: 'iotdm-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: 'iotdm'
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'
163         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
164         settings: '{iotdm-settings}'
165         global-settings: '{odl-global-settings}'
166
167     postbuilders:
168         - jacoco-nojava-workaround
169
170     reporters:
171         - findbugs
172
173     publishers:
174         
175         - email-notification:
176             email-prefix: '[iotdm]'
177         - maven-deploy:
178             id: ''
179             unique-version: true
180             deploy-unstable: false
181         - jacoco-report
182
183 - job-template:
184     name: 'iotdm-daily-{stream}'
185
186     # Job template for daily builders
187     #
188     # The purpose of this job template is to setup a daily/nightly
189     # builder and pushes to Sonar analysis.
190     #
191     # Required Variables:
192     #     stream:    branch with - in place of / (eg. stable-helium)
193     #     branch:    branch (eg. stable/helium)
194
195     project-type: maven
196     node: dynamic_verify
197     jdk: '{jdk}'
198
199     logrotate:
200         daysToKeep: '{build-days-to-keep}'
201         numToKeep: '{build-num-to-keep}'
202         artifactDaysToKeep: '{build-artifact-days-to-keep}'
203         artifactNumToKeep: '{build-artifact-num-to-keep}'
204
205     parameters:
206         - project-parameter:
207             project: '{project}'
208
209     scm:
210         - git-scm:
211             credentials-id: '{ssh-credentials}'
212             refspec: ''
213             branch: '{branch}'
214
215     wrappers:
216         - build-timeout
217         - ssh-agent-credentials:
218             users:
219                 - '{ssh-credentials}'
220
221     triggers:
222         - timed: 'H H * * *'
223
224     prebuilders:
225         - wipe-org-opendaylight-repo
226
227     maven:
228         maven-name: '{mvn32}'
229         root-pom: 'pom.xml'
230         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar'
231         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
232         settings: '{iotdm-settings}'
233         global-settings: '{odl-global-settings}'
234
235     postbuilders:
236         - jacoco-nojava-workaround
237
238     reporters:
239         - findbugs
240
241     publishers:
242         - email-notification:
243             email-prefix: '[iotdm]'
244         - jacoco-report
245
246 - job-template:
247     name: 'iotdm-distribution-{stream}'
248
249     project-type: maven
250     node: dynamic_merge
251     jdk: '{jdk}'
252
253     logrotate:
254         daysToKeep: '{build-days-to-keep}'
255         numToKeep: '{build-num-to-keep}'
256         artifactDaysToKeep: '{build-artifact-days-to-keep}'
257         artifactNumToKeep: '{build-artifact-num-to-keep}'
258
259     parameters:
260         - project-parameter:
261             project: 'integration'
262
263     scm:
264         - git-scm:
265             credentials-id: '{ssh-credentials}'
266             refspec: ''
267             branch: '{branch}'
268
269     wrappers:
270         - build-timeout
271         - ssh-agent-credentials:
272             users:
273                 - '{ssh-credentials}'
274
275     triggers:
276         - reverse:
277             jobs: '{project}-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: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install source:jar javadoc:jar'
287         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
288         settings: '{integration-settings}'
289         global-settings: '{odl-global-settings}'
290
291     publishers:
292         - email-notification:
293             email-prefix: '[{project}]'
294         - maven-deploy:
295             id: ''
296             unique-version: true
297             deploy-unstable: false
298
299 - job-template:
300     name: 'iotdm-integration-{stream}'
301     disabled: false
302
303     # Job template for ODL integration verify jobs
304     #
305     # This is similar to a normal verify job, but it runs
306     # when a project that's a dependency of your project
307     # is successfully built.
308     #
309     # Required Variables:
310     #     stream:    branch with - in place of / (eg. stable-helium)
311     #     branch:    branch (eg. stable/helium)
312
313     project-type: maven
314     node: dynamic_merge
315     jdk: '{jdk}'
316
317     logrotate:
318         daysToKeep: '{build-days-to-keep}'
319         numToKeep: '{build-num-to-keep}'
320         artifactDaysToKeep: '{build-artifact-days-to-keep}'
321         artifactNumToKeep: '{build-artifact-num-to-keep}'
322
323     parameters:
324         - project-parameter:
325             project: '{project}'
326
327     scm:
328         - git-scm:
329             credentials-id: '{ssh-credentials}'
330             refspec: ''
331             branch: '{branch}'
332
333     wrappers:
334         - build-timeout
335         - ssh-agent-credentials:
336             users:
337                 - '{ssh-credentials}'
338
339     triggers:
340         - reverse:
341             jobs: 'controller-merge-{stream},yangtools-merge-{stream},odlparent-merge-{stream},aaa-merge-{stream}'
342             result: 'success'
343
344     prebuilders:
345         - wipe-org-opendaylight-repo
346
347     maven:
348         maven-name: '{mvn32}'
349         root-pom: 'pom.xml'
350         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar'
351         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
352         settings: '{iotdm-settings}'
353         global-settings: '{odl-global-settings}'
354
355     postbuilders:
356         - jacoco-nojava-workaround
357
358     reporters:
359         - findbugs
360
361     publishers:
362         - email-notification:
363             email-prefix: '[iotdm] [controller] [yangtools] [odlparent] [aaa]'
364         - jacoco-report
365
366 - job-template:
367     name: 'iotdm-sonar'
368
369     project-type: maven
370     node: dynamic_verify
371     jdk: 'openjdk7'
372
373     logrotate:
374         daysToKeep: '7'
375         numToKeep: '10'
376         artifactDaysToKeep: '1'
377         artifactNumToKeep: '1'
378
379     parameters:
380         - project-parameter:
381             project: '{project}'
382
383     scm:
384         - git-scm:
385             credentials-id: '{ssh-credentials}'
386             refspec: ''
387             branch: 'master'
388
389     wrappers:
390         - build-timeout
391         - ssh-agent-credentials:
392             users:
393                 - '{ssh-credentials}'
394
395     triggers:
396         - timed: 'H H * * *'
397
398     maven:
399         maven-name: '{mvn32}'
400         root-pom: 'pom.xml'
401         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dsonar'
402         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
403         settings: '{iotdm-settings}'
404         global-settings: '{odl-global-settings}'
405
406     postbuilders:
407         - jacoco-nojava-workaround
408
409     reporters:
410         - findbugs
411
412     publishers:
413         - sonar:
414             language: 'java'
415             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
416         - email-notification:
417             email-prefix: '[iotdm]'
418         - jacoco-report
419
420 - job-template:
421     name: 'iotdm-clm'
422
423     project-type: maven
424     node: dynamic_verify
425     jdk: 'openjdk7'
426
427     logrotate:
428         daysToKeep: '{build-days-to-keep}'
429         numToKeep: '{build-num-to-keep}'
430         artifactDaysToKeep: '{build-artifact-days-to-keep}'
431         artifactNumToKeep: '{build-artifact-num-to-keep}'
432
433     parameters:
434         - project-parameter:
435             project: '{project}'
436
437     scm:
438         - git-scm:
439             credentials-id: '{ssh-credentials}'
440             refspec: ''
441             branch: 'master'
442
443     wrappers:
444         - build-timeout
445         - ssh-agent-credentials:
446             users:
447                 - '{ssh-credentials}'
448
449     triggers:
450         - timed: '@weekly'
451
452     prebuilders:
453         - wipe-org-opendaylight-repo
454
455     maven:
456         maven-name: '{mvn32}'
457         root-pom: 'pom.xml'
458         goals: 'com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
459         maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
460         settings: '{iotdm-settings}'
461         global-settings: '{odl-global-settings}'
462
463     postbuilders:
464         - check-clm:
465             application-name: iotdm
466
467     publishers:
468         - email-notification:
469             email-prefix: '[iotdm]'
470