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