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