Update automated project templates
[releng/builder.git] / jjb / usc / usc.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: usc
8     jobs:
9         - 'usc-verify-{stream}'
10         - 'usc-merge-{stream}'
11         - 'usc-daily-{stream}'
12         - 'usc-integration-{stream}'
13         - 'usc-sonar'
14
15
16     # stream:    branch with - in place of / (eg. stable-helium)
17     # branch:    branch (eg. stable/helium)
18     stream:
19         - master:
20             branch: 'master'
21
22     project: 'usc'
23     jdk: 'openjdk7'
24
25 # For the Job templates below replace instances of:
26 # PROJECT with your project name (eg. controller)
27 # MAVEN_GOALS with your maven goals to build
28 # MAVEN_OPTS with your maven options to build
29
30 - job-template:
31     name: 'usc-verify-{stream}'
32
33     # Job template for ODL verify jobs
34     #
35     # The purpose of this job template is to setup a ODL verify job
36     #
37     # Required Variables:
38     #     stream:    branch with - in place of / (eg. stable-helium)
39     #     branch:    branch (eg. stable/helium)
40
41     project-type: maven
42     node: dynamic_verify
43     concurrent: true
44     jdk: '{jdk}'
45
46     logrotate:
47         daysToKeep: '{build-days-to-keep}'
48         numToKeep: '{build-num-to-keep}'
49         artifactDaysToKeep: '{build-artifact-days-to-keep}'
50         artifactNumToKeep: '{build-artifact-num-to-keep}'
51
52     parameters:
53         - project-parameter:
54             project: '{project}'
55         - gerrit-parameter:
56             branch: '{branch}'
57
58     scm:
59         - gerrit-trigger-scm:
60             credentials-id: '{ssh-credentials}'
61             refspec: '$GERRIT_REFSPEC'
62             choosing-strategy: 'gerrit'
63
64     wrappers:
65         - build-timeout
66         - ssh-agent-credentials:
67             user: '{ssh-credentials}'
68
69     triggers:
70         - gerrit-trigger-patch-submitted:
71             name: 'usc'
72             branch: '{branch}'
73
74     prebuilders:
75         - wipe-org-opendaylight-repo
76
77     maven:
78         maven-name: '{mvn32}'
79         root-pom: 'pom.xml'
80         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
81         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
82         settings: '{usc-settings}'
83         global-settings: '{odl-global-settings}'
84         ignore-upstream-changes: true
85
86     postbuilders:
87         - jacoco-nojava-workaround
88
89     publishers:
90         - email-notification:
91             email-prefix: '[usc]'
92         - jacoco-report
93
94 - job-template:
95     name: 'usc-merge-{stream}'
96
97     # Job template for ODL merge jobs
98     #
99     # The purpose of this job template is to setup a ODL merge job
100     # and deploy artifacts to Nexus.
101     #
102     # Required Variables:
103     #     stream:    branch with - in place of / (eg. stable-helium)
104     #     branch:    branch (eg. stable/helium)
105
106     project-type: maven
107     node: dynamic_merge
108     jdk: '{jdk}'
109
110     logrotate:
111         daysToKeep: '{build-days-to-keep}'
112         numToKeep: '{build-num-to-keep}'
113         artifactDaysToKeep: '{build-artifact-days-to-keep}'
114         artifactNumToKeep: '{build-artifact-num-to-keep}'
115
116     parameters:
117         - project-parameter:
118             project: '{project}'
119
120     scm:
121         - gerrit-trigger-scm:
122             credentials-id: '{ssh-credentials}'
123             refspec: ''
124             choosing-strategy: 'default'
125
126     wrappers:
127         - build-timeout
128         - ssh-agent-credentials:
129             user: '{ssh-credentials}'
130
131     triggers:
132         - gerrit-trigger-patch-merged:
133             name: 'usc'
134             branch: '{branch}'
135
136     prebuilders:
137         - wipe-org-opendaylight-repo
138
139     maven:
140         maven-name: '{mvn32}'
141         root-pom: 'pom.xml'
142         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar'
143         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
144         settings: '{usc-settings}'
145         global-settings: '{odl-global-settings}'
146
147     postbuilders:
148         - jacoco-nojava-workaround
149
150     publishers:
151         
152         - email-notification:
153             email-prefix: '[usc]'
154         - maven-deploy:
155             id: ''
156             unique-version: true
157             deploy-unstable: false
158         - jacoco-report
159
160 - job-template:
161     name: 'usc-daily-{stream}'
162
163     # Job template for daily builders
164     #
165     # The purpose of this job template is to setup a daily/nightly
166     # builder and pushes to Sonar analysis.
167     #
168     # Required Variables:
169     #     stream:    branch with - in place of / (eg. stable-helium)
170     #     branch:    branch (eg. stable/helium)
171
172     project-type: maven
173     node: dynamic_verify
174     jdk: '{jdk}'
175
176     logrotate:
177         daysToKeep: '{build-days-to-keep}'
178         numToKeep: '{build-num-to-keep}'
179         artifactDaysToKeep: '{build-artifact-days-to-keep}'
180         artifactNumToKeep: '{build-artifact-num-to-keep}'
181
182     parameters:
183         - project-parameter:
184             project: '{project}'
185
186     scm:
187         - git-scm:
188             credentials-id: '{ssh-credentials}'
189             refspec: ''
190             branch: '{branch}'
191
192     wrappers:
193         - build-timeout
194         - ssh-agent-credentials:
195             user: '{ssh-credentials}'
196
197     triggers:
198         - timed: 'H H * * *'
199
200     prebuilders:
201         - wipe-org-opendaylight-repo
202
203     maven:
204         maven-name: '{mvn32}'
205         root-pom: 'pom.xml'
206         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar'
207         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
208         settings: '{usc-settings}'
209         global-settings: '{odl-global-settings}'
210
211     postbuilders:
212         - jacoco-nojava-workaround
213
214     publishers:
215         - email-notification:
216             email-prefix: '[usc]'
217         - jacoco-report
218
219 - job-template:
220     name: 'usc-integration-{stream}'
221     disabled: false
222
223     # Job template for ODL merge jobs
224     #
225     # The purpose of this job template is to setup a ODL merge job
226     # and deploy artifacts to Nexus.
227     #
228     # Required Variables:
229     #     stream:    branch with - in place of / (eg. stable-helium)
230     #     branch:    branch (eg. stable/helium)
231
232     project-type: maven
233     node: dynamic_merge
234     jdk: '{jdk}'
235
236     logrotate:
237         daysToKeep: '{build-days-to-keep}'
238         numToKeep: '{build-num-to-keep}'
239         artifactDaysToKeep: '{build-artifact-days-to-keep}'
240         artifactNumToKeep: '{build-artifact-num-to-keep}'
241
242     parameters:
243         - project-parameter:
244             project: '{project}'
245
246     scm:
247         - git-scm:
248             credentials-id: '{ssh-credentials}'
249             refspec: ''
250             branch: '{branch}'
251
252     wrappers:
253         - build-timeout
254         - ssh-agent-credentials:
255             user: '{ssh-credentials}'
256
257     triggers:
258         - reverse:
259             jobs: 'controller-merge-{stream},yangtools-merge-{stream},odlparent-merge-{stream}'
260             result: 'success'
261
262     prebuilders:
263         - wipe-org-opendaylight-repo
264
265     maven:
266         maven-name: '{mvn32}'
267         root-pom: 'pom.xml'
268         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar'
269         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
270         settings: '{usc-settings}'
271         global-settings: '{odl-global-settings}'
272
273     postbuilders:
274         - jacoco-nojava-workaround
275
276     publishers:
277         - email-notification:
278             email-prefix: '[usc] [controller] [yangtools] [odlparent]'
279         - maven-deploy:
280             id: ''
281             unique-version: true
282             deploy-unstable: false
283         - jacoco-report
284
285 - job-template:
286     name: 'usc-sonar'
287
288     project-type: maven
289     node: dynamic_verify
290     jdk: '{jdk}'
291
292     logrotate:
293         daysToKeep: '7'
294         numToKeep: '10'
295         artifactDaysToKeep: '1'
296         artifactNumToKeep: '1'
297
298     parameters:
299         - project-parameter:
300             project: '{project}'
301
302     scm:
303         - git-scm:
304             credentials-id: '{ssh-credentials}'
305             refspec: ''
306             branch: 'master'
307
308     wrappers:
309         - build-timeout
310         - ssh-agent-credentials:
311             user: '{ssh-credentials}'
312
313     triggers:
314         - timed: 'H H * * *'
315
316     maven:
317         maven-name: '{mvn32}'
318         root-pom: 'pom.xml'
319         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dsonar'
320         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
321         settings: '{usc-settings}'
322         global-settings: '{odl-global-settings}'
323
324     postbuilders:
325         - jacoco-nojava-workaround
326
327     publishers:
328         - sonar:
329             language: 'java'
330             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
331         - email-notification:
332             email-prefix: '[usc]'
333         - jacoco-report
334