d5dc9f06a744b8668e8fef8c5b4edf92488aa170
[releng/builder.git] / jjb / integration / distribution / distribution.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: distribution
8     jobs:
9         - 'distribution-sonar'
10         - 'distribution-clm-{stream}'
11         - 'distribution-validate-autorelease-{stream}'
12
13
14     # stream:    release stream (eg. stable-lithium or beryllium)
15     # branch:    git branch (eg. stable/lithium or master)
16     stream:
17         - boron:
18             branch: 'master'
19             jdk: openjdk8
20             jdks:
21                 - openjdk8
22             disable_autorelease: False
23             disable_distribution_check: False
24         - beryllium:
25             branch: 'stable/beryllium'
26             jdk: openjdk8
27             jdks:
28                 - openjdk8
29                 - openjdk7
30             disable_autorelease: False
31             disable_distribution_check: False
32
33     project: 'integration/distribution'
34
35 # For the Job templates below replace instances of:
36 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
37 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
38 # MAVEN_GOALS with your maven goals to build
39 # MAVEN_OPTS with your maven options to build
40
41 - job-template:
42     name: 'distribution-sonar'
43     disabled: false
44
45     project-type: maven
46     node: dynamic_verify
47     jdk: 'openjdk8'
48
49     logrotate:
50         daysToKeep: '7'
51         numToKeep: '10'
52         artifactDaysToKeep: '1'
53         artifactNumToKeep: '1'
54
55     parameters:
56         - project-parameter:
57             project: '{project}'
58
59     scm:
60         - git-scm:
61             refspec: ''
62             branch: 'master'
63
64     wrappers:
65         - opendaylight-infra-wrappers:
66             build-timeout: '{build-timeout}'
67
68     triggers:
69         - timed: 'H H * * 6'
70         - gerrit-trigger-patch-sonar:
71             name: 'integration/distribution'
72
73     prebuilders:
74         - jacoco-nojava-workaround
75         - provide-maven-settings:
76             global-settings-file: 'odl-global-settings'
77             settings-file: 'integration-distribution-settings'
78
79     maven:
80         maven-name: '{mvn33}'
81         root-pom: 'pom.xml'
82         goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -V -B -Djenkins -Dsonar'
83         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
84         settings: 'integration-distribution-settings'
85         settings-type: cfp
86         global-settings: 'odl-global-settings'
87         global-settings-type: cfp
88
89     reporters:
90         - findbugs
91
92     publishers:
93         - sonar:
94             language: 'java'
95             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
96         - email-notification:
97             email-prefix: '[distribution]'
98         - jacoco-report
99         - archive-build:
100             maven-version: '{mvn33}'
101
102 - job-template:
103     name: 'distribution-clm-{stream}'
104     disabled: false
105
106     project-type: maven
107     node: dynamic_verify
108     jdk: '{jdk}'
109
110     logrotate:
111         daysToKeep: '{build-days-to-keep}'
112         numToKeep: '{build-num-to-keep}'
113         artifactDaysToKeep: '{build-artifact-days-to-keep}'
114         artifactNumToKeep: '{build-artifact-num-to-keep}'
115
116     parameters:
117         - project-parameter:
118             project: '{project}'
119
120     scm:
121         - git-scm:
122             refspec: ''
123             branch: '{branch}'
124
125     wrappers:
126         - opendaylight-infra-wrappers:
127             build-timeout: '{build-timeout}'
128
129     triggers:
130         - timed: 'H H * * 6'
131
132     prebuilders:
133         - provide-maven-settings:
134             global-settings-file: 'odl-global-settings'
135             settings-file: 'integration-distribution-settings'
136
137     maven:
138         maven-name: '{mvn33}'
139         root-pom: 'pom.xml'
140         goals: 'clean install com.sonatype.clm:clm-maven-plugin:index -V -B -Djenkins -DskipTests=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
141         maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
142         settings: 'integration-distribution-settings'
143         settings-type: cfp
144         global-settings: 'odl-global-settings'
145         global-settings-type: cfp
146
147     postbuilders:
148         - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
149         - check-clm:
150             application-name: distribution
151
152     publishers:
153         - email-notification:
154             email-prefix: '[distribution]'
155         - archive-build:
156             maven-version: '{mvn33}'
157
158 - job-template:
159     name: 'distribution-validate-autorelease-{stream}'
160     disabled: '{obj:disable_autorelease}'
161
162     project-type: maven
163     node: dynamic_verify
164     concurrent: true
165     jdk: '{jdk}'
166
167     logrotate:
168         daysToKeep: '{build-days-to-keep}'
169         numToKeep: '{build-num-to-keep}'
170         artifactDaysToKeep: '{build-artifact-days-to-keep}'
171         artifactNumToKeep: '{build-artifact-num-to-keep}'
172
173     parameters:
174         - project-parameter:
175             project: '{project}'
176         - gerrit-parameters:
177             project: '{project}'
178             branch: '{branch}'
179             refspec: 'refs/heads/{branch}'
180         - autorelease-release-tag:
181             release-tag: 'validate'
182         - autorelease-release-branch:
183             release-branch: '{branch}'
184         - string:
185             name: CLONE_URL
186             default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease'
187             description: "Autorelease clone URL"
188
189     scm:
190         - git:
191             url: '$CLONE_URL'
192             credentials-id: 'opendaylight-jenkins-ssh'
193             refspec: ''
194             branches:
195                 - 'origin/{branch}'
196             skip-tag: true
197             submodule:
198                 recursive: true
199                 timeout: 60
200
201     wrappers:
202         - opendaylight-infra-wrappers:
203             build-timeout: '{build-timeout}'
204
205     triggers:
206         - gerrit:
207             server-name: 'OpenDaylight'
208             trigger-on:
209                 - patchset-created-event:
210                     exclude-drafts: 'true'
211                     exclude-trivial-rebase: 'false'
212                     exclude-no-code-change: 'true'
213                 - draft-published-event
214                 - comment-added-contains-event:
215                     comment-contains-value: 'recheck'
216                 - comment-added-contains-event:
217                     comment-contains-value: 'reverify'
218                 - comment-added-contains-event:
219                     comment-contains-value: 'revalidate'
220             projects:
221               - project-compare-type: 'ANT'
222                 project-pattern: 'integration/distribution'
223                 branches:
224                   - branch-compare-type: 'ANT'
225                     branch-pattern: '**/{branch}'
226                 file-paths:
227                     - compare-type: ANT
228                       pattern: '**/*.xml'
229
230     prebuilders:
231         - jacoco-nojava-workaround
232         - autorelease-checkout-gerrit-patch
233         - autorelease-generate-release-patches
234         - maven-target:
235             maven-version: '{mvn33}'
236             pom: validate-pom.xml
237             goals: 'clean install -V -B -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
238             java-opts:
239             - '-Xmx8g'
240             settings: 'autorelease-settings'
241             settings-type: cfp
242             global-settings: 'odl-global-settings'
243             global-settings-type: cfp
244
245     maven:
246         maven-name: '{mvn33}'
247         root-pom: 'pom.xml'
248         goals: 'clean validate -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
249         maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
250         settings: 'autorelease-settings'
251         settings-type: cfp
252         global-settings: 'odl-global-settings'
253         global-settings-type: cfp
254         automatic-archiving: false
255         post-step-run-condition: UNSTABLE
256
257     postbuilders:
258         - autorelease-sys-stats
259
260     publishers:
261         - email-notification:
262             email-prefix: '[autorelease] [distribution]'
263         - archive-build:
264             maven-version: '{mvn33}'
265