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