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