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