Update automated project templates
[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         - project-parameter:
88             project: '{project}'
89         - gerrit-parameters:
90             project: '{project}'
91             branch: '{branch}'
92             refspec: 'refs/heads/{branch}'
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: 'coretutorials'
106             branch: '{branch}'
107
108     builders:
109         - jacoco-nojava-workaround
110         - provide-maven-settings:
111             global-settings-file: 'odl-global-settings'
112             settings-file: 'coretutorials-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: 'coretutorials-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: '[coretutorials]'
130         - jacoco-report
131         - archive-build:
132             maven-version: '{mvn33}'
133
134 - job-template:
135     name: 'coretutorials-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         - project-parameter:
158             project: '{project}'
159         - gerrit-parameters:
160             project: '{project}'
161             branch: '{branch}'
162             refspec: 'refs/heads/{branch}'
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: 'coretutorials'
177             branch: '{branch}'
178
179     prebuilders:
180         - jacoco-nojava-workaround
181         - provide-maven-settings:
182             global-settings-file: 'odl-global-settings'
183             settings-file: 'coretutorials-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: 'coretutorials-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: 'coretutorials-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: 'coretutorials-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: '[coretutorials]'
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: 'coretutorials-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         - project-parameter:
262             project: '{project}'
263
264     scm:
265         - git-scm:
266             refspec: ''
267             branch: 'master'
268
269     wrappers:
270         - opendaylight-infra-wrappers:
271             build-timeout: '{build-timeout}'
272
273     triggers:
274         - timed: 'H H * * 6'
275         - gerrit-trigger-patch-sonar:
276             name: 'coretutorials'
277
278     prebuilders:
279         - jacoco-nojava-workaround
280         - provide-maven-settings:
281             global-settings-file: 'odl-global-settings'
282             settings-file: 'coretutorials-settings'
283
284     maven:
285         maven-name: '{mvn33}'
286         root-pom: 'pom.xml'
287         goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -V -B -Djenkins -Dsonar'
288         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
289         settings: 'coretutorials-settings'
290         settings-type: cfp
291         global-settings: 'odl-global-settings'
292         global-settings-type: cfp
293
294     reporters:
295         - findbugs
296
297     publishers:
298         - sonar:
299             language: 'java'
300             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
301         - email-notification:
302             email-prefix: '[coretutorials]'
303         - jacoco-report
304         - archive-build:
305             maven-version: '{mvn33}'
306