Merge "Rename extension back to md"
[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-periodic-{stream}'
12         - 'ovsdb-distribution-{stream}'
13         - 'ovsdb-integration-{stream}'
14         - 'ovsdb-clm-{stream}'
15         - 'ovsdb-validate-autorelease-{stream}'
16
17
18     # stream:    release stream (eg. stable-lithium or beryllium)
19     # branch:    git branch (eg. stable/lithium or master)
20     stream:
21         - beryllium:
22             branch: 'master'
23             jdk: openjdk7
24             jdks:
25                 - openjdk7
26                 - openjdk8
27             disable_autorelease: False
28         - clustering-netvirt-master:
29             branch: 'topic/master/net-virt-clustering'
30             jdk: openjdk7
31             jdks:
32                 - openjdk7
33             disable_autorelease: True
34         - pre-boron:
35             branch: 'pre-boron'
36             jdk: openjdk7
37             jdks:
38                 - openjdk7
39                 - openjdk8
40             disable_autorelease: True
41         - stable-lithium:
42             branch: 'stable/lithium'
43             jdk: openjdk7
44             jdks:
45                 - openjdk7
46             disable_autorelease: True
47         - stable-helium:
48             branch: 'stable/helium'
49             jdk: openjdk7
50             jdks:
51                 - openjdk7
52             disable_autorelease: True
53
54     project: 'ovsdb'
55
56 # For the Job templates below replace instances of:
57 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
58 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
59 # MAVEN_GOALS with your maven goals to build
60 # MAVEN_OPTS with your maven options to build
61
62 - job-template:
63     name: 'ovsdb-verify-{stream}'
64
65     # Job template for ODL verify jobs
66     #
67     # The purpose of this job template is to setup a ODL verify job
68     #
69     # Required Variables:
70     #     stream:    release stream (eg. stable-lithium or beryllium)
71     #     branch:    git branch (eg. stable/lithium or master)
72
73     project-type: matrix
74     node: matrix_master
75     concurrent: true
76
77     axes:
78         - axis:
79             type: slave
80             name: nodes
81             values:
82                 - dynamic_verify
83         - axis:
84             type: jdk
85             values: '{obj:jdks}'
86
87     logrotate:
88         daysToKeep: '{build-days-to-keep}'
89         numToKeep: '{build-num-to-keep}'
90         artifactDaysToKeep: '{build-artifact-days-to-keep}'
91         artifactNumToKeep: '{build-artifact-num-to-keep}'
92
93     parameters:
94         - project-parameter:
95             project: '{project}'
96         - gerrit-parameter:
97             branch: '{branch}'
98         - gerrit-refspec-parameter:
99             refspec: 'refs/heads/{branch}'
100
101     scm:
102         - gerrit-trigger-scm:
103             credentials-id: '{ssh-credentials}'
104             refspec: '$GERRIT_REFSPEC'
105             choosing-strategy: 'gerrit'
106
107     wrappers:
108         - build-timeout
109         - ssh-agent-credentials:
110             users:
111                 - '{ssh-credentials}'
112
113     triggers:
114         - gerrit-trigger-patch-submitted:
115             name: 'ovsdb'
116             branch: '{branch}'
117
118     builders:
119         - wipe-org-opendaylight-repo
120         - jacoco-nojava-workaround
121         - provide-maven-settings:
122             global-settings-file: '{odl-global-settings}'
123             settings-file: '{ovsdb-settings}'
124         - maven-target:
125             maven-version: '{mvn33}'
126             pom: 'pom.xml'
127             goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Djenkins -Dstream={stream}'
128             java-opts:
129                 - '-Xmx1024m -XX:MaxPermSize=256m'
130             settings: '{ovsdb-settings}'
131             global-settings: '{odl-global-settings}'
132
133     publishers:
134         - findbugs
135         - email-notification:
136             email-prefix: '[ovsdb]'
137         - jacoco-report
138
139 - job-template:
140     name: 'ovsdb-merge-{stream}'
141
142     # Job template for ODL merge jobs
143     #
144     # The purpose of this job template is to setup a ODL merge job
145     # and deploy artifacts to Nexus.
146     #
147     # Required Variables:
148     #     stream:    release stream (eg. stable-lithium or beryllium)
149     #     branch:    git branch (eg. stable/lithium or master)
150
151     project-type: maven
152     node: dynamic_merge
153     jdk: '{jdk}'
154
155     logrotate:
156         daysToKeep: '{build-days-to-keep}'
157         numToKeep: '{build-num-to-keep}'
158         artifactDaysToKeep: '{build-artifact-days-to-keep}'
159         artifactNumToKeep: '{build-artifact-num-to-keep}'
160
161     parameters:
162         - project-parameter:
163             project: '{project}'
164         - gerrit-parameter:
165             branch: '{branch}'
166         - gerrit-refspec-parameter:
167             refspec: 'refs/heads/{branch}'
168
169     scm:
170         - gerrit-trigger-scm:
171             credentials-id: '{ssh-credentials}'
172             refspec: ''
173             choosing-strategy: 'default'
174
175     wrappers:
176         - build-timeout
177         - ssh-agent-credentials:
178             users:
179                 - '{ssh-credentials}'
180
181     triggers:
182         - gerrit-trigger-patch-merged:
183             name: 'ovsdb'
184             branch: '{branch}'
185
186     prebuilders:
187         - wipe-org-opendaylight-repo
188         - jacoco-nojava-workaround
189         - provide-maven-settings:
190             global-settings-file: '{odl-global-settings}'
191             settings-file: '{ovsdb-settings}'
192
193     maven:
194         maven-name: '{mvn33}'
195         root-pom: 'pom.xml'
196         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Djenkins -Dmerge -Dstream={stream}'
197         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
198         settings: '{ovsdb-settings}'
199         global-settings: '{odl-global-settings}'
200         post-step-run-condition: UNSTABLE
201
202     postbuilders:
203         - conditional-step:
204             condition-kind: file-exists
205             condition-filename: deploy-site.xml
206             condition-basedir: workspace
207
208             # The strategy here is intentional to run Maven site:deploy twice
209             # once using regular pom.xml to produce a staged-site which is
210             # then used by deploy-site.xml to push to Nexus. This is a
211             # workaround to Maven Site's default linking code which creates
212             # incorrect URLs for sites due to auto-detection assuming your
213             # project is configured in a certain way which ODL is not.
214             steps:
215             - maven-target:
216                 maven-version: '{mvn33}'
217                 pom: pom.xml
218                 goals: 'site:deploy -Dstream={stream}'
219                 java-opts:
220                     - '-Xmx2g'
221                 settings: '{ovsdb-settings}'
222                 global-settings: '{odl-global-settings}'
223             - maven-target:
224                 maven-version: '{mvn33}'
225                 pom: deploy-site.xml
226                 goals: 'site:deploy -Dstream={stream}'
227                 java-opts:
228                     - '-Xmx2g'
229                 settings: '{ovsdb-settings}'
230                 global-settings: '{odl-global-settings}'
231
232     reporters:
233         - findbugs
234
235     publishers:
236         - archive-artifacts:
237             artifacts: '**/target/surefire-reports/*-output.txt, '
238         - email-notification:
239             email-prefix: '[ovsdb]'
240         - maven-deploy:
241             id: ''
242             unique-version: true
243             deploy-unstable: false
244         - jacoco-report
245
246 - job-template:
247     name: 'ovsdb-periodic-{stream}'
248
249     # Job template for periodic builders
250     #
251     # The purpose of this job template is to setup a periodic
252     # builder.
253     #
254     # Required Variables:
255     #     stream:    release stream (eg. stable-lithium or beryllium)
256     #     branch:    git branch (eg. stable/lithium or master)
257
258     project-type: maven
259     node: dynamic_verify
260     jdk: '{jdk}'
261
262     logrotate:
263         daysToKeep: '{build-days-to-keep}'
264         numToKeep: '{build-num-to-keep}'
265         artifactDaysToKeep: '{build-artifact-days-to-keep}'
266         artifactNumToKeep: '{build-artifact-num-to-keep}'
267
268     parameters:
269         - project-parameter:
270             project: '{project}'
271
272     scm:
273         - git-scm:
274             credentials-id: '{ssh-credentials}'
275             refspec: ''
276             branch: '{branch}'
277
278     wrappers:
279         - build-timeout
280         - ssh-agent-credentials:
281             users:
282                 - '{ssh-credentials}'
283
284     triggers:
285         - timed: '@daily'
286
287     prebuilders:
288         - wipe-org-opendaylight-repo
289         - jacoco-nojava-workaround
290         - provide-maven-settings:
291             global-settings-file: '{odl-global-settings}'
292             settings-file: '{ovsdb-settings}'
293
294     maven:
295         maven-name: '{mvn33}'
296         root-pom: 'pom.xml'
297         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Djenkins'
298         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
299         settings: '{ovsdb-settings}'
300         global-settings: '{odl-global-settings}'
301
302     reporters:
303         - findbugs
304
305     publishers:
306         - email-notification:
307             email-prefix: '[ovsdb]'
308         - jacoco-report
309
310 - job-template:
311     name: 'ovsdb-distribution-{stream}'
312
313     # Required variables:
314     #     stream:    release stream (eg. stable-lithium or beryllium)
315     #     branch:    git branch (eg. stable/lithium or master)
316
317     project-type: maven
318     node: dynamic_merge
319     jdk: '{jdk}'
320
321     logrotate:
322         daysToKeep: '{build-days-to-keep}'
323         numToKeep: '{build-num-to-keep}'
324         artifactDaysToKeep: '{build-artifact-days-to-keep}'
325         artifactNumToKeep: '{build-artifact-num-to-keep}'
326
327     parameters:
328         - project-parameter:
329             project: 'integration/distribution'
330
331     scm:
332         - git-scm:
333             credentials-id: '{ssh-credentials}'
334             refspec: ''
335             branch: '{branch}'
336
337     wrappers:
338         - build-timeout
339         - ssh-agent-credentials:
340             users:
341                 - '{ssh-credentials}'
342
343     triggers:
344         - reverse:
345             jobs: '{project}-merge-{stream}'
346             result: 'success'
347
348     prebuilders:
349         - wipe-org-opendaylight-repo
350         - provide-maven-settings:
351             global-settings-file: '{odl-global-settings}'
352             settings-file: '{ovsdb-settings}'
353
354     maven:
355         maven-name: '{mvn33}'
356         root-pom: 'pom.xml'
357         goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
358         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
359         settings: '{integration-settings}'
360         global-settings: '{odl-global-settings}'
361
362     publishers:
363         - email-notification:
364             email-prefix: '[{project}]'
365         - maven-deploy:
366             id: ''
367             unique-version: true
368             deploy-unstable: false
369
370 - job-template:
371     name: 'ovsdb-integration-{stream}'
372     disabled: false
373
374     # Job template for ODL integration verify jobs
375     #
376     # This is similar to a normal verify job, but it runs
377     # when a project that's a dependency of your project
378     # is successfully built.
379     #
380     # Required Variables:
381     #     stream:    release stream (eg. stable-lithium or beryllium)
382     #     branch:    git branch (eg. stable/lithium or master)
383
384     project-type: maven
385     node: dynamic_merge
386     jdk: '{jdk}'
387
388     logrotate:
389         daysToKeep: '{build-days-to-keep}'
390         numToKeep: '{build-num-to-keep}'
391         artifactDaysToKeep: '{build-artifact-days-to-keep}'
392         artifactNumToKeep: '{build-artifact-num-to-keep}'
393
394     parameters:
395         - project-parameter:
396             project: '{project}'
397
398     scm:
399         - git-scm:
400             credentials-id: '{ssh-credentials}'
401             refspec: ''
402             branch: '{branch}'
403
404     wrappers:
405         - build-timeout
406         - ssh-agent-credentials:
407             users:
408                 - '{ssh-credentials}'
409
410     triggers:
411         - reverse:
412             jobs: 'odlparent-merge-{stream},controller-merge-{stream},yangtools-merge-{stream},openflowplugin-merge-{stream},neutron-merge-{stream}'
413             result: 'success'
414
415     prebuilders:
416         - wipe-org-opendaylight-repo
417         - jacoco-nojava-workaround
418         - provide-maven-settings:
419             global-settings-file: '{odl-global-settings}'
420             settings-file: '{ovsdb-settings}'
421
422     maven:
423         maven-name: '{mvn33}'
424         root-pom: 'pom.xml'
425         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Djenkins'
426         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
427         settings: '{ovsdb-settings}'
428         global-settings: '{odl-global-settings}'
429
430     reporters:
431         - findbugs
432
433     publishers:
434         - email-notification:
435             email-prefix: '[ovsdb] [odlparent] [controller] [yangtools] [openflowplugin] [neutron]'
436         - jacoco-report
437
438 - job-template:
439     name: 'ovsdb-clm-{stream}'
440
441     project-type: maven
442     node: dynamic_verify
443     jdk: '{jdk}'
444
445     logrotate:
446         daysToKeep: '{build-days-to-keep}'
447         numToKeep: '{build-num-to-keep}'
448         artifactDaysToKeep: '{build-artifact-days-to-keep}'
449         artifactNumToKeep: '{build-artifact-num-to-keep}'
450
451     parameters:
452         - project-parameter:
453             project: '{project}'
454
455     scm:
456         - git-scm:
457             credentials-id: '{ssh-credentials}'
458             refspec: ''
459             branch: '{branch}'
460
461     wrappers:
462         - build-timeout
463         - ssh-agent-credentials:
464             users:
465                 - '{ssh-credentials}'
466
467     triggers:
468         - timed: '@weekly'
469
470     prebuilders:
471         - wipe-org-opendaylight-repo
472         - provide-maven-settings:
473             global-settings-file: '{odl-global-settings}'
474             settings-file: '{ovsdb-settings}'
475
476     maven:
477         maven-name: '{mvn33}'
478         root-pom: 'pom.xml'
479         goals: 'clean install com.sonatype.clm:clm-maven-plugin:index -Djenkins -DskipTests=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
480         maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
481         settings: '{ovsdb-settings}'
482         global-settings: '{odl-global-settings}'
483
484     postbuilders:
485         - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
486         - check-clm:
487             application-name: ovsdb
488
489     publishers:
490         - email-notification:
491             email-prefix: '[ovsdb]'
492
493 - job-template:
494     name: 'ovsdb-validate-autorelease-{stream}'
495     disabled: '{obj:disable_autorelease}'
496
497     project-type: maven
498     node: dynamic_verify
499     concurrent: true
500     jdk: '{jdk}'
501
502     logrotate:
503         daysToKeep: '{build-days-to-keep}'
504         numToKeep: '{build-num-to-keep}'
505         artifactDaysToKeep: '{build-artifact-days-to-keep}'
506         artifactNumToKeep: '{build-artifact-num-to-keep}'
507
508     parameters:
509         - project-parameter:
510             project: '{project}'
511         - gerrit-parameter:
512             branch: '{branch}'
513         - autorelease-release-tag:
514             release-tag: 'validate'
515         - autorelease-release-branch:
516             release-branch: '{branch}'
517         - autorelease-release-datestamp:
518             datestamp: true
519
520     scm:
521         - git:
522             url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
523             refspec: ''
524             branches:
525                 - 'origin/{branch}'
526             skip-tag: true
527             submodule:
528                 recursive: true
529
530     wrappers:
531         - autorelease-build-timeout
532         - ssh-agent-credentials:
533             users:
534                 - '{ssh-credentials}'
535
536     triggers:
537         - gerrit:
538             server-name: 'OpenDaylight'
539             trigger-on:
540                 - patchset-created-event:
541                     exclude-drafts: 'false'
542                     exclude-trivial-rebase: 'false'
543                     exclude-no-code-change: 'false'
544                 - draft-published-event
545                 - comment-added-contains-event:
546                     comment-contains-value: 'recheck'
547                 - comment-added-contains-event:
548                     comment-contains-value: 'reverify'
549                 - comment-added-contains-event:
550                     comment-contains-value: 'revalidate'
551             projects:
552               - project-compare-type: 'ANT'
553                 project-pattern: 'ovsdb'
554                 branches:
555                   - branch-compare-type: 'ANT'
556                     branch-pattern: '**/{branch}'
557
558     prebuilders:
559         - wipe-org-opendaylight-repo
560         - jacoco-nojava-workaround
561         - autorelease-checkout-gerrit-patch
562         - autorelease-generate-taglist
563         - autorelease-generate-release-patches
564         - maven-target:
565             maven-version: '{mvn33}'
566             pom: validate-pom.xml
567             goals: 'clean install -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
568             java-opts:
569             - '-Xmx8g'
570             settings: '{autorelease-settings}'
571             global-settings: '{odl-global-settings}'
572
573     maven:
574         maven-name: '{mvn33}'
575         root-pom: 'pom.xml'
576         goals: 'clean validate -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
577         maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
578         settings: '{autorelease-settings}'
579         global-settings: '{odl-global-settings}'
580         automatic-archiving: false
581         post-step-run-condition: UNSTABLE
582
583     postbuilders:
584         - shell: "./scripts/list-project-dependencies.sh"
585         - autorelease-sys-stats
586
587     publishers:
588         - archive-artifacts:
589             artifacts: '*.log'
590         - email-notification:
591             email-prefix: '[autorelease] [ovsdb]'
592