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