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