94ca12efe22402c2b25e458f9dad3448e92c6917
[releng/builder.git] / jjb / yangtools / yangtools.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: yangtools
8     jobs:
9         - 'yangtools-merge-{stream}'
10         - 'yangtools-daily-{stream}'
11         - 'yangtools-distribution-{stream}'
12         - 'yangtools-integration-{stream}'
13         - 'yangtools-sonar'
14         - 'yangtools-clm-{stream}'
15
16
17     # stream:    release stream (eg. stable-lithium or beryllium)
18     # branch:    git branch (eg. stable/lithium or master)
19     stream:
20         - beryllium:
21             branch: 'master'
22             jdk: openjdk7
23             jdks:
24                 - openjdk7
25                 - openjdk8
26         - stable-lithium:
27             branch: 'stable/lithium'
28             jdk: openjdk7
29             jdks:
30                 - openjdk7
31                 - openjdk8
32         - stable-helium:
33             branch: 'stable/helium'
34             jdk: openjdk7
35             jdks:
36                 - openjdk7
37
38     project: 'yangtools'
39
40 # For the Job templates below replace instances of:
41 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
42 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
43 # MAVEN_GOALS with your maven goals to build
44 # MAVEN_OPTS with your maven options to build
45
46 - job-template:
47     name: 'yangtools-merge-{stream}'
48
49     # Job template for ODL merge jobs
50     #
51     # The purpose of this job template is to setup a ODL merge job
52     # and deploy artifacts to Nexus.
53     #
54     # Required Variables:
55     #     stream:    release stream (eg. stable-lithium or beryllium)
56     #     branch:    git branch (eg. stable/lithium or master)
57
58     project-type: maven
59     node: dynamic_merge
60     jdk: '{jdk}'
61
62     logrotate:
63         daysToKeep: '{build-days-to-keep}'
64         numToKeep: '{build-num-to-keep}'
65         artifactDaysToKeep: '{build-artifact-days-to-keep}'
66         artifactNumToKeep: '{build-artifact-num-to-keep}'
67
68     parameters:
69         - project-parameter:
70             project: '{project}'
71
72     scm:
73         - gerrit-trigger-scm:
74             credentials-id: '{ssh-credentials}'
75             refspec: ''
76             choosing-strategy: 'default'
77
78     wrappers:
79         - build-timeout
80         - ssh-agent-credentials:
81             users:
82                 - '{ssh-credentials}'
83
84     triggers:
85         - gerrit-trigger-patch-merged:
86             name: 'yangtools'
87             branch: '{branch}'
88
89     prebuilders:
90         - wipe-org-opendaylight-repo
91         - jacoco-nojava-workaround
92         - provide-maven-settings:
93             global-settings-file: '{odl-global-settings}'
94             settings-file: '{yangtools-settings}'
95
96     maven:
97         maven-name: '{mvn33}'
98         root-pom: 'pom.xml'
99         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge'
100         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
101         settings: '{yangtools-settings}'
102         global-settings: '{odl-global-settings}'
103
104     reporters:
105         - findbugs
106
107     publishers:
108         - email-notification:
109             email-prefix: '[yangtools]'
110         - maven-deploy:
111             id: ''
112             unique-version: true
113             deploy-unstable: false
114         - jacoco-report
115
116 - job-template:
117     name: 'yangtools-daily-{stream}'
118
119     # Job template for daily builders
120     #
121     # The purpose of this job template is to setup a daily/nightly
122     # builder and pushes to Sonar analysis.
123     #
124     # Required Variables:
125     #     stream:    release stream (eg. stable-lithium or beryllium)
126     #     branch:    git branch (eg. stable/lithium or master)
127
128     project-type: maven
129     node: dynamic_verify
130     jdk: '{jdk}'
131
132     logrotate:
133         daysToKeep: '{build-days-to-keep}'
134         numToKeep: '{build-num-to-keep}'
135         artifactDaysToKeep: '{build-artifact-days-to-keep}'
136         artifactNumToKeep: '{build-artifact-num-to-keep}'
137
138     parameters:
139         - project-parameter:
140             project: '{project}'
141
142     scm:
143         - git-scm:
144             credentials-id: '{ssh-credentials}'
145             refspec: ''
146             branch: '{branch}'
147
148     wrappers:
149         - build-timeout
150         - ssh-agent-credentials:
151             users:
152                 - '{ssh-credentials}'
153
154     triggers:
155         - timed: 'H H * * *'
156
157     prebuilders:
158         - wipe-org-opendaylight-repo
159         - jacoco-nojava-workaround
160         - provide-maven-settings:
161             global-settings-file: '{odl-global-settings}'
162             settings-file: '{yangtools-settings}'
163
164     maven:
165         maven-name: '{mvn33}'
166         root-pom: 'pom.xml'
167         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
168         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
169         settings: '{yangtools-settings}'
170         global-settings: '{odl-global-settings}'
171
172     reporters:
173         - findbugs
174
175     publishers:
176         - email-notification:
177             email-prefix: '[yangtools]'
178         - jacoco-report
179
180 - job-template:
181     name: 'yangtools-distribution-{stream}'
182
183     # Required variables:
184     #     stream:    release stream (eg. stable-lithium or beryllium)
185     #     branch:    git branch (eg. stable/lithium or master)
186
187     project-type: maven
188     node: dynamic_merge
189     jdk: '{jdk}'
190
191     logrotate:
192         daysToKeep: '{build-days-to-keep}'
193         numToKeep: '{build-num-to-keep}'
194         artifactDaysToKeep: '{build-artifact-days-to-keep}'
195         artifactNumToKeep: '{build-artifact-num-to-keep}'
196
197     parameters:
198         - project-parameter:
199             project: 'integration'
200
201     scm:
202         - git-scm:
203             credentials-id: '{ssh-credentials}'
204             refspec: ''
205             branch: '{branch}'
206
207     wrappers:
208         - build-timeout
209         - ssh-agent-credentials:
210             users:
211                 - '{ssh-credentials}'
212
213     triggers:
214         - reverse:
215             jobs: '{project}-merge-{stream}'
216             result: 'success'
217
218     prebuilders:
219         - wipe-org-opendaylight-repo
220         - provide-maven-settings:
221             global-settings-file: '{odl-global-settings}'
222             settings-file: '{yangtools-settings}'
223
224     maven:
225         maven-name: '{mvn33}'
226         root-pom: 'pom.xml'
227         goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install'
228         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
229         settings: '{integration-settings}'
230         global-settings: '{odl-global-settings}'
231
232     publishers:
233         - email-notification:
234             email-prefix: '[{project}]'
235         - maven-deploy:
236             id: ''
237             unique-version: true
238             deploy-unstable: false
239
240 - job-template:
241     name: 'yangtools-integration-{stream}'
242     disabled: false
243
244     # Job template for ODL integration verify jobs
245     #
246     # This is similar to a normal verify job, but it runs
247     # when a project that's a dependency of your project
248     # is successfully built.
249     #
250     # Required Variables:
251     #     stream:    release stream (eg. stable-lithium or beryllium)
252     #     branch:    git branch (eg. stable/lithium or master)
253
254     project-type: maven
255     node: dynamic_merge
256     jdk: '{jdk}'
257
258     logrotate:
259         daysToKeep: '{build-days-to-keep}'
260         numToKeep: '{build-num-to-keep}'
261         artifactDaysToKeep: '{build-artifact-days-to-keep}'
262         artifactNumToKeep: '{build-artifact-num-to-keep}'
263
264     parameters:
265         - project-parameter:
266             project: '{project}'
267
268     scm:
269         - git-scm:
270             credentials-id: '{ssh-credentials}'
271             refspec: ''
272             branch: '{branch}'
273
274     wrappers:
275         - build-timeout
276         - ssh-agent-credentials:
277             users:
278                 - '{ssh-credentials}'
279
280     triggers:
281         - reverse:
282             jobs: 'odlparent-merge-{stream}'
283             result: 'success'
284
285     prebuilders:
286         - wipe-org-opendaylight-repo
287         - jacoco-nojava-workaround
288         - provide-maven-settings:
289             global-settings-file: '{odl-global-settings}'
290             settings-file: '{yangtools-settings}'
291
292     maven:
293         maven-name: '{mvn33}'
294         root-pom: 'pom.xml'
295         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
296         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
297         settings: '{yangtools-settings}'
298         global-settings: '{odl-global-settings}'
299
300     reporters:
301         - findbugs
302
303     publishers:
304         - email-notification:
305             email-prefix: '[yangtools] [odlparent]'
306         - jacoco-report
307
308 - job-template:
309     name: 'yangtools-sonar'
310
311     project-type: maven
312     node: dynamic_verify
313     jdk: 'openjdk7'
314
315     logrotate:
316         daysToKeep: '7'
317         numToKeep: '10'
318         artifactDaysToKeep: '1'
319         artifactNumToKeep: '1'
320
321     parameters:
322         - project-parameter:
323             project: '{project}'
324
325     scm:
326         - git-scm:
327             credentials-id: '{ssh-credentials}'
328             refspec: ''
329             branch: 'master'
330
331     wrappers:
332         - build-timeout
333         - ssh-agent-credentials:
334             users:
335                 - '{ssh-credentials}'
336
337     triggers:
338         - timed: 'H H * * *'
339         - gerrit-trigger-patch-sonar:
340             name: 'yangtools'
341
342     prebuilders:
343         - wipe-org-opendaylight-repo
344         - jacoco-nojava-workaround
345         - provide-maven-settings:
346             global-settings-file: '{odl-global-settings}'
347             settings-file: '{yangtools-settings}'
348
349     maven:
350         maven-name: '{mvn33}'
351         root-pom: 'pom.xml'
352         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dsonar'
353         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
354         settings: '{yangtools-settings}'
355         global-settings: '{odl-global-settings}'
356
357     reporters:
358         - findbugs
359
360     publishers:
361         - sonar:
362             language: 'java'
363             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
364         - email-notification:
365             email-prefix: '[yangtools]'
366         - jacoco-report
367
368 - job-template:
369     name: 'yangtools-clm-{stream}'
370
371     project-type: maven
372     node: dynamic_verify
373     jdk: '{jdk}'
374
375     logrotate:
376         daysToKeep: '{build-days-to-keep}'
377         numToKeep: '{build-num-to-keep}'
378         artifactDaysToKeep: '{build-artifact-days-to-keep}'
379         artifactNumToKeep: '{build-artifact-num-to-keep}'
380
381     parameters:
382         - project-parameter:
383             project: '{project}'
384
385     scm:
386         - git-scm:
387             credentials-id: '{ssh-credentials}'
388             refspec: ''
389             branch: '{branch}'
390
391     wrappers:
392         - build-timeout
393         - ssh-agent-credentials:
394             users:
395                 - '{ssh-credentials}'
396
397     triggers:
398         - timed: '@weekly'
399
400     prebuilders:
401         - wipe-org-opendaylight-repo
402         - provide-maven-settings:
403             global-settings-file: '{odl-global-settings}'
404             settings-file: '{yangtools-settings}'
405
406     maven:
407         maven-name: '{mvn33}'
408         root-pom: 'pom.xml'
409         goals: 'com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
410         maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
411         settings: '{yangtools-settings}'
412         global-settings: '{odl-global-settings}'
413
414     postbuilders:
415         - check-clm:
416             application-name: yangtools
417
418     publishers:
419         - email-notification:
420             email-prefix: '[yangtools]'
421