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