8dd48768403f9ed75d3f8f6e635be63d5b2e566f
[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         - '{name}-clm-{stream}'
10         - '{name}-distribution-{stream}'
11         - '{name}-distribution-check-{stream}'
12         - '{name}-integration-{stream}'
13         - '{name}-periodic-{stream}'
14         - '{name}-validate-autorelease-{stream}'
15         - 'ovsdb-verify-{stream}'
16         - 'ovsdb-merge-{stream}'
17
18
19     # stream:    release stream (eg. stable-lithium or beryllium)
20     # branch:    git branch (eg. stable/lithium or master)
21     stream:
22         - boron:
23             branch: 'master'
24             jdk: openjdk8
25             jdks:
26                 - openjdk8
27             disable_autorelease: False
28             disable_distribution_check: False
29         - beryllium:
30             branch: 'stable/beryllium'
31             jdk: openjdk7
32             jdks:
33                 - openjdk7
34                 - openjdk8
35             disable_autorelease: False
36             disable_distribution_check: False
37         - stable-lithium:
38             branch: 'stable/lithium'
39             jdk: openjdk7
40             jdks:
41                 - openjdk7
42             disable_autorelease: True
43             disable_distribution_check: True
44
45     project: 'ovsdb'
46     mvn-settings: 'ovsdb-settings'
47     mvn-goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
48     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
49     dependencies: 'odlparent-merge-{stream},controller-merge-{stream},yangtools-merge-{stream}'
50     email-upstream: '[ovsdb] [odlparent] [controller] [yangtools]'
51
52 # For the Job templates below replace instances of:
53 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
54 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
55 # MAVEN_GOALS with your maven goals to build
56 # MAVEN_OPTS with your maven options to build
57
58 - job-template:
59     name: 'ovsdb-verify-{stream}'
60
61     # Job template for ODL verify jobs
62     #
63     # The purpose of this job template is to setup a ODL verify job
64     #
65     # Required Variables:
66     #     stream:    release stream (eg. stable-lithium or beryllium)
67     #     branch:    git branch (eg. stable/lithium or master)
68
69     project-type: matrix
70     node: matrix_master
71     concurrent: true
72
73     axes:
74         - axis:
75             type: slave
76             name: nodes
77             values:
78                 - dynamic_verify
79         - axis:
80             type: jdk
81             values: '{obj:jdks}'
82
83     logrotate:
84         daysToKeep: '14'
85
86     parameters:
87         - opendaylight-infra-parameters:
88             project: '{project}'
89             branch: '{branch}'
90             refspec: 'refs/heads/{branch}'
91             artifacts: '{archive-artifacts}'
92
93     scm:
94         - gerrit-trigger-scm:
95             refspec: '$GERRIT_REFSPEC'
96             choosing-strategy: 'gerrit'
97
98     wrappers:
99         - opendaylight-infra-wrappers:
100             build-timeout: '{build-timeout}'
101
102     triggers:
103         - gerrit-trigger-patch-submitted:
104             name: 'ovsdb'
105             branch: '{branch}'
106
107     builders:
108         - jacoco-nojava-workaround
109         - provide-maven-settings:
110             global-settings-file: 'odl-global-settings'
111             settings-file: 'ovsdb-settings'
112         - maven-target:
113             maven-version: '{mvn33}'
114             pom: 'pom.xml'
115             goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -V -B -Djenkins -Dstream={stream}'
116             java-opts:
117                 - '-Xmx1024m -XX:MaxPermSize=256m'
118             settings: 'ovsdb-settings'
119             settings-type: cfp
120             global-settings: 'odl-global-settings'
121             global-settings-type: cfp
122
123     publishers:
124         - archive-artifacts:
125             artifacts: '**/target/surefire-reports/*-output.txt, '
126         - findbugs
127         - email-notification:
128             email-prefix: '[ovsdb]'
129         - jacoco-report
130         - archive-build:
131             maven-version: '{mvn33}'
132
133 - job-template:
134     name: 'ovsdb-merge-{stream}'
135
136     # Job template for ODL merge jobs
137     #
138     # The purpose of this job template is to setup a ODL merge job
139     # and deploy artifacts to Nexus.
140     #
141     # Required Variables:
142     #     stream:    release stream (eg. stable-lithium or beryllium)
143     #     branch:    git branch (eg. stable/lithium or master)
144
145     project-type: maven
146     node: dynamic_merge
147     jdk: '{jdk}'
148
149     logrotate:
150         daysToKeep: '14'
151         numToKeep: '10'
152         artifactDaysToKeep: '{build-artifact-days-to-keep}'
153         artifactNumToKeep: '{build-artifact-num-to-keep}'
154
155     parameters:
156         - opendaylight-infra-parameters:
157             project: '{project}'
158             branch: '{branch}'
159             refspec: 'refs/heads/{branch}'
160             artifacts: '{archive-artifacts}'
161
162     scm:
163         - gerrit-trigger-scm:
164             refspec: ''
165             choosing-strategy: 'default'
166
167     wrappers:
168         - opendaylight-infra-wrappers:
169             build-timeout: '{build-timeout}'
170
171     triggers:
172         - timed: 'H H * * 0'
173         - gerrit-trigger-patch-merged:
174             name: 'ovsdb'
175             branch: '{branch}'
176
177     prebuilders:
178         - jacoco-nojava-workaround
179         - provide-maven-settings:
180             global-settings-file: 'odl-global-settings'
181             settings-file: 'ovsdb-settings'
182
183     maven:
184         maven-name: '{mvn33}'
185         root-pom: 'pom.xml'
186         goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -V -B -Djenkins -Dmerge -Dstream={stream}'
187         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
188         settings: 'ovsdb-settings'
189         settings-type: cfp
190         global-settings: 'odl-global-settings'
191         global-settings-type: cfp
192         post-step-run-condition: UNSTABLE
193
194     postbuilders:
195         - conditional-step:
196             condition-kind: file-exists
197             condition-filename: deploy-site.xml
198             condition-basedir: workspace
199
200             # The strategy here is intentional to run Maven site:deploy twice
201             # once using regular pom.xml to produce a staged-site which is
202             # then used by deploy-site.xml to push to Nexus. This is a
203             # workaround to Maven Site's default linking code which creates
204             # incorrect URLs for sites due to auto-detection assuming your
205             # project is configured in a certain way which ODL is not.
206             steps:
207             - maven-target:
208                 maven-version: '{mvn33}'
209                 pom: pom.xml
210                 goals: 'site:deploy -V -B -Dstream={stream}'
211                 java-opts:
212                     - '-Xmx2g'
213                 settings: 'ovsdb-settings'
214                 settings-type: cfp
215                 global-settings: 'odl-global-settings'
216                 global-settings-type: cfp
217             - maven-target:
218                 maven-version: '{mvn33}'
219                 pom: deploy-site.xml
220                 goals: 'site:deploy -V -B -Dstream={stream}'
221                 java-opts:
222                     - '-Xmx2g'
223                 settings: 'ovsdb-settings'
224                 settings-type: cfp
225                 global-settings: 'odl-global-settings'
226                 global-settings-type: cfp
227
228     reporters:
229         - findbugs
230
231     publishers:
232         - archive-artifacts:
233             artifacts: '**/target/surefire-reports/*-output.txt, '
234         - email-notification:
235             email-prefix: '[ovsdb]'
236         - maven-deploy:
237             id: ''
238             unique-version: true
239             deploy-unstable: false
240         - jacoco-report
241         - archive-build:
242             maven-version: '{mvn33}'
243