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