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