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