Merge "Adding JJB files to support HBase and HSQLDB scripts in both Lithium and relea...
[releng/builder.git] / jjb / docs / docs.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: docs
8     jobs:
9         - 'docs-verify-{stream}'
10         - 'docs-merge-{stream}'
11         - 'docs-periodic-{stream}'
12         - 'docs-distribution-{stream}'
13         - 'docs-distribution-check-{stream}'
14         - 'docs-integration-{stream}'
15         - 'docs-sonar'
16         - 'docs-clm-{stream}'
17         - 'docs-validate-autorelease-{stream}'
18
19
20     # stream:    release stream (eg. stable-lithium or beryllium)
21     # branch:    git branch (eg. stable/lithium or master)
22     stream:
23         - boron:
24             branch: 'master'
25             jdk: openjdk8
26             jdks:
27                 - openjdk8
28             disable_autorelease: False
29             disable_distribution_check: True
30         - beryllium:
31             branch: 'stable/beryllium'
32             jdk: openjdk7
33             jdks:
34                 - openjdk7
35                 - openjdk8
36             disable_autorelease: False
37             disable_distribution_check: True
38         - stable-lithium:
39             branch: 'stable/lithium'
40             jdk: openjdk7
41             jdks:
42                 - openjdk7
43             disable_autorelease: True
44             disable_distribution_check: True
45         - stable-helium:
46             branch: 'stable/helium'
47             jdk: openjdk7
48             jdks:
49                 - openjdk7
50             disable_autorelease: True
51             disable_distribution_check: True
52
53     project: 'docs'
54
55 # For the Job templates below replace instances of:
56 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
57 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
58 # MAVEN_GOALS with your maven goals to build
59 # MAVEN_OPTS with your maven options to build
60
61 - job-template:
62     name: 'docs-verify-{stream}'
63
64     # Job template for ODL verify jobs
65     #
66     # The purpose of this job template is to setup a ODL verify job
67     #
68     # Required Variables:
69     #     stream:    release stream (eg. stable-lithium or beryllium)
70     #     branch:    git branch (eg. stable/lithium or master)
71
72     project-type: matrix
73     node: matrix_master
74     concurrent: true
75
76     axes:
77         - axis:
78             type: slave
79             name: nodes
80             values:
81                 - dynamic_verify
82         - axis:
83             type: jdk
84             values: '{obj:jdks}'
85
86     logrotate:
87         daysToKeep: '{build-days-to-keep}'
88         numToKeep: '{build-num-to-keep}'
89         artifactDaysToKeep: '{build-artifact-days-to-keep}'
90         artifactNumToKeep: '{build-artifact-num-to-keep}'
91
92     parameters:
93         - project-parameter:
94             project: '{project}'
95         - gerrit-parameter:
96             branch: '{branch}'
97         - gerrit-refspec-parameter:
98             refspec: 'refs/heads/{branch}'
99
100     scm:
101         - gerrit-trigger-scm:
102             credentials-id: '{ssh-credentials}'
103             refspec: '$GERRIT_REFSPEC'
104             choosing-strategy: 'gerrit'
105
106     wrappers:
107         - build-timeout
108         - ssh-agent-credentials:
109             users:
110                 - '{ssh-credentials}'
111
112     triggers:
113         - gerrit-trigger-patch-submitted:
114             name: 'docs'
115             branch: '{branch}'
116
117     builders:
118         - wipe-org-opendaylight-repo
119         - jacoco-nojava-workaround
120         - provide-maven-settings:
121             global-settings-file: '{odl-global-settings}'
122             settings-file: '{docs-settings}'
123         - maven-target:
124             maven-version: '{mvn33}'
125             pom: 'pom.xml'
126             goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Djenkins -Dstream={stream}'
127             java-opts:
128                 - '-Xmx1024m -XX:MaxPermSize=256m'
129             settings: '{docs-settings}'
130             global-settings: '{odl-global-settings}'
131
132     publishers:
133         - archive-artifacts:
134             artifacts: '**/target/surefire-reports/*-output.txt, '
135         - findbugs
136         - email-notification:
137             email-prefix: '[docs]'
138         - jacoco-report
139
140 - job-template:
141     name: 'docs-merge-{stream}'
142
143     # Job template for ODL merge jobs
144     #
145     # The purpose of this job template is to setup a ODL merge job
146     # and deploy artifacts to Nexus.
147     #
148     # Required Variables:
149     #     stream:    release stream (eg. stable-lithium or beryllium)
150     #     branch:    git branch (eg. stable/lithium or master)
151
152     project-type: maven
153     node: dynamic_merge
154     jdk: '{jdk}'
155
156     logrotate:
157         daysToKeep: '14'
158         numToKeep: '10'
159         artifactDaysToKeep: '{build-artifact-days-to-keep}'
160         artifactNumToKeep: '{build-artifact-num-to-keep}'
161
162     parameters:
163         - project-parameter:
164             project: '{project}'
165         - gerrit-parameter:
166             branch: '{branch}'
167         - gerrit-refspec-parameter:
168             refspec: 'refs/heads/{branch}'
169
170     scm:
171         - gerrit-trigger-scm:
172             credentials-id: '{ssh-credentials}'
173             refspec: ''
174             choosing-strategy: 'default'
175
176     wrappers:
177         - build-timeout
178         - ssh-agent-credentials:
179             users:
180                 - '{ssh-credentials}'
181
182     triggers:
183         - timed: 'H H * * 0'
184         - gerrit-trigger-patch-merged:
185             name: 'docs'
186             branch: '{branch}'
187
188     prebuilders:
189         - wipe-org-opendaylight-repo
190         - jacoco-nojava-workaround
191         - provide-maven-settings:
192             global-settings-file: '{odl-global-settings}'
193             settings-file: '{docs-settings}'
194
195     maven:
196         maven-name: '{mvn33}'
197         root-pom: 'pom.xml'
198         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Djenkins -Dmerge -Dstream={stream}'
199         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
200         settings: '{docs-settings}'
201         global-settings: '{odl-global-settings}'
202         post-step-run-condition: UNSTABLE
203
204     postbuilders:
205         - conditional-step:
206             condition-kind: file-exists
207             condition-filename: deploy-site.xml
208             condition-basedir: workspace
209
210             # The strategy here is intentional to run Maven site:deploy twice
211             # once using regular pom.xml to produce a staged-site which is
212             # then used by deploy-site.xml to push to Nexus. This is a
213             # workaround to Maven Site's default linking code which creates
214             # incorrect URLs for sites due to auto-detection assuming your
215             # project is configured in a certain way which ODL is not.
216             steps:
217             - maven-target:
218                 maven-version: '{mvn33}'
219                 pom: pom.xml
220                 goals: 'site:deploy -Dstream={stream}'
221                 java-opts:
222                     - '-Xmx2g'
223                 settings: '{docs-settings}'
224                 global-settings: '{odl-global-settings}'
225             - maven-target:
226                 maven-version: '{mvn33}'
227                 pom: deploy-site.xml
228                 goals: 'site:deploy -Dstream={stream}'
229                 java-opts:
230                     - '-Xmx2g'
231                 settings: '{docs-settings}'
232                 global-settings: '{odl-global-settings}'
233
234     reporters:
235         - findbugs
236
237     publishers:
238         - archive-artifacts:
239             artifacts: '**/target/surefire-reports/*-output.txt, '
240         - email-notification:
241             email-prefix: '[docs]'
242         - maven-deploy:
243             id: ''
244             unique-version: true
245             deploy-unstable: false
246         - jacoco-report
247
248 - job-template:
249     name: 'docs-periodic-{stream}'
250     disabled: false
251
252     # Job template for periodic builders
253     #
254     # The purpose of this job template is to setup a periodic
255     # builder.
256     #
257     # Required Variables:
258     #     stream:    release stream (eg. stable-lithium or beryllium)
259     #     branch:    git branch (eg. stable/lithium or master)
260
261     project-type: maven
262     node: dynamic_verify
263     jdk: '{jdk}'
264
265     logrotate:
266         daysToKeep: '14'
267         numToKeep: '10'
268         artifactDaysToKeep: '{build-artifact-days-to-keep}'
269         artifactNumToKeep: '{build-artifact-num-to-keep}'
270
271     parameters:
272         - project-parameter:
273             project: '{project}'
274
275     scm:
276         - git-scm:
277             credentials-id: '{ssh-credentials}'
278             refspec: ''
279             branch: '{branch}'
280
281     wrappers:
282         - build-timeout
283         - ssh-agent-credentials:
284             users:
285                 - '{ssh-credentials}'
286
287     triggers:
288         - timed: '@daily'
289
290     prebuilders:
291         - wipe-org-opendaylight-repo
292         - jacoco-nojava-workaround
293         - provide-maven-settings:
294             global-settings-file: '{odl-global-settings}'
295             settings-file: '{docs-settings}'
296
297     maven:
298         maven-name: '{mvn33}'
299         root-pom: 'pom.xml'
300         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Djenkins'
301         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
302         settings: '{docs-settings}'
303         global-settings: '{odl-global-settings}'
304
305     reporters:
306         - findbugs
307
308     publishers:
309         - email-notification:
310             email-prefix: '[docs]'
311         - jacoco-report
312
313 - job-template:
314     name: 'docs-distribution-{stream}'
315
316     # Required variables:
317     #     stream:    release stream (eg. stable-lithium or beryllium)
318     #     branch:    git branch (eg. stable/lithium or master)
319
320     project-type: maven
321     node: dynamic_merge
322     jdk: '{jdk}'
323
324     logrotate:
325         daysToKeep: '{build-days-to-keep}'
326         numToKeep: '{build-num-to-keep}'
327         artifactDaysToKeep: '{build-artifact-days-to-keep}'
328         artifactNumToKeep: '{build-artifact-num-to-keep}'
329
330     parameters:
331         - project-parameter:
332             project: 'integration/distribution'
333
334     scm:
335         - git-scm:
336             credentials-id: '{ssh-credentials}'
337             refspec: ''
338             branch: '{branch}'
339
340     wrappers:
341         - build-timeout
342         - ssh-agent-credentials:
343             users:
344                 - '{ssh-credentials}'
345
346     triggers:
347         - reverse:
348             jobs: '{project}-merge-{stream}'
349             result: 'success'
350
351     prebuilders:
352         - wipe-org-opendaylight-repo
353         - provide-maven-settings:
354             global-settings-file: '{odl-global-settings}'
355             settings-file: '{docs-settings}'
356
357     maven:
358         maven-name: '{mvn33}'
359         root-pom: 'pom.xml'
360         goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
361         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
362         settings: '{integration-settings}'
363         global-settings: '{odl-global-settings}'
364
365     publishers:
366         - email-notification:
367             email-prefix: '[{project}]'
368         - maven-deploy:
369             id: ''
370             unique-version: true
371             deploy-unstable: false
372
373 # Template: integration-patch-distribution-{stream}
374 # Goal: Build a patch and make sure the distribution can deploy with this change
375 # Operation: This job template builds a patch, creates a distribution containing
376 #            the patch, and triggers the distribution deploy test
377
378 - job-template:
379     name: 'docs-distribution-check-{stream}'
380     disabled: '{obj:disable_distribution_check}'
381
382     project-type: maven
383     node: dynamic_verify
384     concurrent: true
385     jdk: '{jdk}'
386
387     logrotate:
388         daysToKeep: '14'
389         numToKeep: '10'
390         artifactDaysToKeep: '{build-artifact-days-to-keep}'
391         artifactNumToKeep: '{build-artifact-num-to-keep}'
392
393     parameters:
394         - gerrit-project-parameter:
395             project: '{project}'
396         - gerrit-refspec-parameter:
397             refspec: '{branch}'
398         - project-parameter:
399             project: '{project}'
400         - integration-distribution-git-url
401
402     scm:
403         - integration-gerrit-scm:
404             credentials-id: '{ssh-credentials}'
405             basedir: '$GERRIT_PROJECT'
406             refspec: '$GERRIT_REFSPEC'
407             branch: '{branch}'
408         - integration-distribution-scm:
409             credentials-id: '{ssh-credentials}'
410             branch: '{branch}'
411
412     wrappers:
413         - build-timeout
414         - ssh-agent-credentials:
415             users:
416                 - '{ssh-credentials}'
417
418     triggers:
419         - gerrit:
420             server-name: 'OpenDaylight'
421             trigger-on:
422                 - patchset-created-event:
423                     exclude-drafts: 'true'
424                     exclude-trivial-rebase: 'false'
425                     exclude-no-code-change: 'true'
426                 - draft-published-event
427                 - comment-added-contains-event:
428                     comment-contains-value: 'test-distribution'
429                 - comment-added-contains-event:
430                     comment-contains-value: 'reverify'
431                 - comment-added-contains-event:
432                     comment-contains-value: 'recheck'
433             projects:
434               - project-compare-type: 'ANT'
435                 project-pattern: '{name}'
436                 branches:
437                   - branch-compare-type: 'ANT'
438                     branch-pattern: '**/{branch}'
439             skip-vote:
440                 successful: false
441                 failed: false
442                 unstable: false
443                 notbuilt: false
444
445     prebuilders:
446         - wipe-org-opendaylight-repo
447         - maven-target:
448             maven-version: '{mvn33}'
449             pom: '$GERRIT_PROJECT/pom.xml'
450             goals: 'clean install -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.javadoc.skip=true -Dmaven.site.skip=true -DgenerateReports=false -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dstream={stream}'
451             java-opts:
452                 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
453             settings: '{docs-settings}'
454             global-settings: '{odl-global-settings}'
455
456     maven:
457         maven-name: '{mvn33}'
458         root-pom: 'distribution/pom.xml'
459         goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
460         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
461         settings: '{docs-settings}'
462         global-settings: '{odl-global-settings}'
463         ignore-upstream-changes: true
464         post-step-run-condition: 'SUCCESS'
465
466     postbuilders:
467         - integration-distribution-check
468
469     publishers:
470         - archive:
471             artifacts: 'karaf.log'
472         - archive:
473             artifacts: 'karaf_console.log'
474         - email-notification:
475             email-prefix: '[docs]'
476
477 - job-template:
478     name: 'docs-integration-{stream}'
479     disabled: false
480
481     # Job template for ODL integration verify jobs
482     #
483     # This is similar to a normal verify job, but it runs
484     # when a project that's a dependency of your project
485     # is successfully built.
486     #
487     # Required Variables:
488     #     stream:    release stream (eg. stable-lithium or beryllium)
489     #     branch:    git branch (eg. stable/lithium or master)
490
491     project-type: maven
492     node: dynamic_merge
493     jdk: '{jdk}'
494
495     logrotate:
496         daysToKeep: '{build-days-to-keep}'
497         numToKeep: '{build-num-to-keep}'
498         artifactDaysToKeep: '{build-artifact-days-to-keep}'
499         artifactNumToKeep: '{build-artifact-num-to-keep}'
500
501     parameters:
502         - project-parameter:
503             project: '{project}'
504
505     scm:
506         - git-scm:
507             credentials-id: '{ssh-credentials}'
508             refspec: ''
509             branch: '{branch}'
510
511     wrappers:
512         - build-timeout
513         - ssh-agent-credentials:
514             users:
515                 - '{ssh-credentials}'
516
517     triggers:
518         - reverse:
519             jobs: 'odlparent-merge-{stream}'
520             result: 'success'
521
522     prebuilders:
523         - wipe-org-opendaylight-repo
524         - jacoco-nojava-workaround
525         - provide-maven-settings:
526             global-settings-file: '{odl-global-settings}'
527             settings-file: '{docs-settings}'
528
529     maven:
530         maven-name: '{mvn33}'
531         root-pom: 'pom.xml'
532         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Djenkins'
533         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
534         settings: '{docs-settings}'
535         global-settings: '{odl-global-settings}'
536
537     reporters:
538         - findbugs
539
540     publishers:
541         - email-notification:
542             email-prefix: '[docs] [odlparent]'
543         - jacoco-report
544
545 - job-template:
546     name: 'docs-sonar'
547     disabled: false
548
549     project-type: maven
550     node: dynamic_verify
551     jdk: 'openjdk8'
552
553     logrotate:
554         daysToKeep: '7'
555         numToKeep: '10'
556         artifactDaysToKeep: '1'
557         artifactNumToKeep: '1'
558
559     parameters:
560         - project-parameter:
561             project: '{project}'
562
563     scm:
564         - git-scm:
565             credentials-id: '{ssh-credentials}'
566             refspec: ''
567             branch: 'master'
568
569     wrappers:
570         - build-timeout
571         - ssh-agent-credentials:
572             users:
573                 - '{ssh-credentials}'
574
575     triggers:
576         - timed: '@weekly'
577         - gerrit-trigger-patch-sonar:
578             name: 'docs'
579
580     prebuilders:
581         - wipe-org-opendaylight-repo
582         - jacoco-nojava-workaround
583         - provide-maven-settings:
584             global-settings-file: '{odl-global-settings}'
585             settings-file: '{docs-settings}'
586
587     maven:
588         maven-name: '{mvn33}'
589         root-pom: 'pom.xml'
590         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Djenkins -Dsonar'
591         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
592         settings: '{docs-settings}'
593         global-settings: '{odl-global-settings}'
594
595     reporters:
596         - findbugs
597
598     publishers:
599         - sonar:
600             language: 'java'
601             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
602         - email-notification:
603             email-prefix: '[docs]'
604         - jacoco-report
605
606 - job-template:
607     name: 'docs-clm-{stream}'
608     disabled: false
609
610     project-type: maven
611     node: dynamic_verify
612     jdk: '{jdk}'
613
614     logrotate:
615         daysToKeep: '{build-days-to-keep}'
616         numToKeep: '{build-num-to-keep}'
617         artifactDaysToKeep: '{build-artifact-days-to-keep}'
618         artifactNumToKeep: '{build-artifact-num-to-keep}'
619
620     parameters:
621         - project-parameter:
622             project: '{project}'
623
624     scm:
625         - git-scm:
626             credentials-id: '{ssh-credentials}'
627             refspec: ''
628             branch: '{branch}'
629
630     wrappers:
631         - build-timeout
632         - ssh-agent-credentials:
633             users:
634                 - '{ssh-credentials}'
635
636     triggers:
637         - timed: '@weekly'
638
639     prebuilders:
640         - wipe-org-opendaylight-repo
641         - provide-maven-settings:
642             global-settings-file: '{odl-global-settings}'
643             settings-file: '{docs-settings}'
644
645     maven:
646         maven-name: '{mvn33}'
647         root-pom: 'pom.xml'
648         goals: 'clean install com.sonatype.clm:clm-maven-plugin:index -Djenkins -DskipTests=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
649         maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
650         settings: '{docs-settings}'
651         global-settings: '{odl-global-settings}'
652
653     postbuilders:
654         - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
655         - check-clm:
656             application-name: docs
657
658     publishers:
659         - email-notification:
660             email-prefix: '[docs]'
661
662 - job-template:
663     name: 'docs-validate-autorelease-{stream}'
664     disabled: '{obj:disable_autorelease}'
665
666     project-type: maven
667     node: dynamic_verify
668     concurrent: true
669     jdk: '{jdk}'
670
671     logrotate:
672         daysToKeep: '{build-days-to-keep}'
673         numToKeep: '{build-num-to-keep}'
674         artifactDaysToKeep: '{build-artifact-days-to-keep}'
675         artifactNumToKeep: '{build-artifact-num-to-keep}'
676
677     parameters:
678         - project-parameter:
679             project: '{project}'
680         - gerrit-parameter:
681             branch: '{branch}'
682         - autorelease-release-tag:
683             release-tag: 'validate'
684         - autorelease-release-branch:
685             release-branch: '{branch}'
686         - autorelease-release-datestamp:
687             datestamp: true
688
689     scm:
690         - git:
691             url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
692             refspec: ''
693             branches:
694                 - 'origin/{branch}'
695             skip-tag: true
696             submodule:
697                 recursive: true
698
699     wrappers:
700         - autorelease-build-timeout
701         - ssh-agent-credentials:
702             users:
703                 - '{ssh-credentials}'
704
705     triggers:
706         - gerrit:
707             server-name: 'OpenDaylight'
708             trigger-on:
709                 - patchset-created-event:
710                     exclude-drafts: 'false'
711                     exclude-trivial-rebase: 'false'
712                     exclude-no-code-change: 'false'
713                 - draft-published-event
714                 - comment-added-contains-event:
715                     comment-contains-value: 'recheck'
716                 - comment-added-contains-event:
717                     comment-contains-value: 'reverify'
718                 - comment-added-contains-event:
719                     comment-contains-value: 'revalidate'
720             projects:
721               - project-compare-type: 'ANT'
722                 project-pattern: 'docs'
723                 branches:
724                   - branch-compare-type: 'ANT'
725                     branch-pattern: '**/{branch}'
726                 file-paths:
727                     - compare-type: ANT
728                       pattern: '**/*.xml'
729
730     prebuilders:
731         - wipe-org-opendaylight-repo
732         - jacoco-nojava-workaround
733         - autorelease-checkout-gerrit-patch
734         - autorelease-generate-taglist
735         - autorelease-generate-release-patches
736         - maven-target:
737             maven-version: '{mvn33}'
738             pom: validate-pom.xml
739             goals: 'clean install -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
740             java-opts:
741             - '-Xmx8g'
742             settings: '{autorelease-settings}'
743             global-settings: '{odl-global-settings}'
744
745     maven:
746         maven-name: '{mvn33}'
747         root-pom: 'pom.xml'
748         goals: 'clean validate -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
749         maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
750         settings: '{autorelease-settings}'
751         global-settings: '{odl-global-settings}'
752         automatic-archiving: false
753         post-step-run-condition: UNSTABLE
754
755     postbuilders:
756         - shell: "./scripts/list-project-dependencies.sh"
757         - autorelease-sys-stats
758
759     publishers:
760         - archive-artifacts:
761             artifacts: '*.log'
762         - email-notification:
763             email-prefix: '[autorelease] [docs]'
764