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