Merge "redirecting karaf console to file to check for BindException"
[releng/builder.git] / jjb / integration / integration-distribution-jobs.yaml
1
2 - project:
3     name: integration-distribution-jobs
4     jobs:
5         - 'integration-distribution-verify-{stream}'
6         - 'integration-distribution-merge-{stream}'
7         - 'integration-distribution-deploy-{stream}'
8         - 'integration-distribution-offline-{stream}'
9         - 'integration-patch-distribution-{stream}'
10
11     stream:
12         - pre-boron:
13             branch: 'pre-boron'
14         - beryllium:
15             branch: 'master'
16
17         - stable-lithium:
18             branch: 'stable/lithium'
19
20         - stable-helium:
21             branch: 'stable/helium'
22
23     jdk: 'openjdk7'
24
25
26 - job-template:
27     name: 'integration-distribution-verify-{stream}'
28
29     project-type: maven
30     node: dynamic_verify
31     concurrent: true
32     jdk: '{jdk}'
33
34     logrotate:
35         daysToKeep: '{build-days-to-keep}'
36         numToKeep: '{build-num-to-keep}'
37         artifactDaysToKeep: '{build-artifact-days-to-keep}'
38         artifactNumToKeep: '{build-artifact-num-to-keep}'
39
40     parameters:
41         - project-parameter:
42             project: 'integration/distribution'
43         - gerrit-parameter:
44             branch: '{branch}'
45         - integration-patch-refspec:
46             branch: '$GERRIT_REFSPEC'
47
48     scm:
49         - gerrit-trigger-scm:
50             credentials-id: '{ssh-credentials}'
51             refspec: '$PATCHREFSPEC'
52             choosing-strategy: 'gerrit'
53
54     wrappers:
55         - build-timeout
56         - ssh-agent-credentials:
57             users:
58                 - '{ssh-credentials}'
59
60     triggers:
61         - gerrit-trigger-patch-submitted:
62             name: 'integration/distribution'
63             branch: '{branch}'
64
65     prebuilders:
66         - integration-get-bundle-url-root
67         - inject:
68             properties-file: 'bundle.txt'
69         - wipe-org-opendaylight-repo
70
71     maven:
72         maven-name: '{mvn33}'
73         root-pom: 'pom.xml'
74         goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar'
75         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
76         settings: '{integration-settings}'
77         global-settings: '{odl-global-settings}'
78         ignore-upstream-changes: true
79         post-step-run-condition: 'SUCCESS'
80
81     postbuilders:
82         - trigger-builds:
83             - project: 'integration-distribution-deploy-{stream}'
84               block: true
85               predefined-parameters:
86                   BUNDLEURL=$BUNDLEURL
87
88     publishers:
89         - email-notification:
90             email-prefix: '[integration]'
91
92 - job-template:
93     name: 'integration-distribution-merge-{stream}'
94
95     project-type: maven
96     node: dynamic_merge
97     jdk: '{jdk}'
98
99     logrotate:
100         daysToKeep: '{build-days-to-keep}'
101         numToKeep: '{build-num-to-keep}'
102         artifactDaysToKeep: '{build-artifact-days-to-keep}'
103         artifactNumToKeep: '{build-artifact-num-to-keep}'
104
105     parameters:
106         - project-parameter:
107             project: 'integration/distribution'
108
109     scm:
110         - gerrit-trigger-scm:
111             credentials-id: '{ssh-credentials}'
112             refspec: ''
113             choosing-strategy: 'default'
114
115     wrappers:
116         - build-timeout
117         - ssh-agent-credentials:
118             users:
119                 - '{ssh-credentials}'
120
121     triggers:
122         - gerrit-trigger-patch-merged:
123             name: 'integration/distribution'
124             branch: '{branch}'
125
126     prebuilders:
127         - wipe-org-opendaylight-repo
128
129     maven:
130         maven-name: '{mvn33}'
131         root-pom: 'pom.xml'
132         goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar'
133         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
134         settings: '{integration-settings}'
135         global-settings: '{odl-global-settings}'
136
137     publishers:
138         - email-notification:
139             email-prefix: '[integration]'
140         - maven-deploy:
141             id: ''
142             unique-version: true
143             deploy-unstable: false
144
145 # Template: integration-distribution-deploy-{stream}
146 # Goal: Verify distribution starts with no issues when all features are loaded
147 # Operation: This job deploys the controller installing odl-integration-all
148
149 - job-template:
150     name: 'integration-distribution-deploy-{stream}'
151
152     project-type: freestyle
153     node: dynamic_controller
154
155     logrotate:
156         daysToKeep: '{build-days-to-keep}'
157         numToKeep: '{build-num-to-keep}'
158         artifactDaysToKeep: '{build-artifact-days-to-keep}'
159         artifactNumToKeep: '{build-artifact-num-to-keep}'
160
161     parameters:
162         - project-parameter:
163             project: 'integration/distribution'
164         - integration-branch:
165             branch: '{branch}'
166         - integration-bundleurl:
167             bundleurl: 'last'
168
169     wrappers:
170         - build-timeout
171         - ssh-agent-credentials:
172             users:
173                 - '{ssh-credentials}'
174
175     triggers:
176         - timed: 'H H * * *'
177
178     builders:
179         - integration-get-bundle-vars
180         - inject:
181             properties-file: 'bundle_vars.txt'
182         - integration-deploy-controller-verify
183
184     publishers:
185         - archive:
186             artifacts: 'karaf.log'
187         - archive:
188             artifacts: 'karaf_console.log'
189         - email-notification:
190             email-prefix: '[integration]'
191
192 # Template: integration-distribution-offline-{stream}
193 # Goal: Verify distribution can start with no internet connection
194 # Operation: This job deploys the controller removing any external repository definition
195
196 - job-template:
197     name: 'integration-distribution-offline-{stream}'
198
199     project-type: freestyle
200     node: dynamic_controller
201
202     logrotate:
203         daysToKeep: '{build-days-to-keep}'
204         numToKeep: '{build-num-to-keep}'
205         artifactDaysToKeep: '{build-artifact-days-to-keep}'
206         artifactNumToKeep: '{build-artifact-num-to-keep}'
207
208     parameters:
209         - project-parameter:
210             project: 'integration/distribution'
211         - integration-branch:
212             branch: '{branch}'
213         - integration-bundleurl:
214             bundleurl: 'last'
215
216     wrappers:
217         - build-timeout
218         - ssh-agent-credentials:
219             users:
220                 - '{ssh-credentials}'
221
222     triggers:
223         - timed: 'H H * * *'
224
225     builders:
226         - integration-get-bundle-vars
227         - inject:
228             properties-file: 'bundle_vars.txt'
229         - integration-deploy-controller-offline
230
231     publishers:
232         - archive:
233             artifacts: 'karaf.log'
234         - email-notification:
235             email-prefix: '[integration]'
236
237 # Template: integration-patch-distribution-{stream}
238 # Goal: Build a patch and make sure the distribution can deploy with this change
239 # Operation: This job template builds a patch, creates a distribution containing the patch, and
240 # triggers the distribution deploy test
241
242 - job-template:
243     name: 'integration-patch-distribution-{stream}'
244
245     project-type: maven
246     node: dynamic_verify
247     jdk: '{jdk}'
248
249     logrotate:
250         daysToKeep: '{build-days-to-keep}'
251         numToKeep: '{build-num-to-keep}'
252         artifactDaysToKeep: '{build-artifact-days-to-keep}'
253         artifactNumToKeep: '{build-artifact-num-to-keep}'
254
255     parameters:
256         - gerrit-project-parameter:
257             project: '$GERRIT_PROJECT'
258         - gerrit-refspec-parameter:
259             refspec: '$GERRIT_REFSPEC'
260         - project-parameter:
261             project: '$GERRIT_PROJECT'
262         - integration-distribution-git-url
263
264     scm:
265         - integration-gerrit-scm:
266             credentials-id: '{ssh-credentials}'
267             basedir: '$GERRIT_PROJECT'
268             refspec: '$GERRIT_REFSPEC'
269             branch: '{branch}'
270         - integration-distribution-scm:
271             credentials-id: '{ssh-credentials}'
272             branch: '{branch}'
273
274     wrappers:
275         - build-timeout
276         - ssh-agent-credentials:
277             users:
278                 - '{ssh-credentials}'
279
280     triggers:
281         - gerrit:
282             server-name: 'OpenDaylight'
283             trigger-on:
284                 - comment-added-contains-event:
285                     comment-contains-value: 'test-distribution'
286             projects:
287               - project-compare-type: 'ANT'
288                 project-pattern: '**'
289                 branches:
290                   - branch-compare-type: 'ANT'
291                     branch-pattern: '**/{branch}'
292             skip-vote:
293                 successful: true
294                 failed: true
295                 unstable: true
296                 notbuilt: true
297
298     prebuilders:
299         - integration-get-bundle-url
300         - inject:
301             properties-file: 'bundle.txt'
302         - wipe-org-opendaylight-repo
303         - maven-target:
304             maven-version: '{mvn33}'
305             pom: '$GERRIT_PROJECT/pom.xml'
306             goals: 'clean install -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'
307             java-opts:
308                 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
309             settings: '{integration-settings}'
310             global-settings: '{odl-global-settings}'
311
312     maven:
313         maven-name: '{mvn33}'
314         root-pom: 'distribution/pom.xml'
315         goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
316         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
317         settings: '{integration-settings}'
318         global-settings: '{odl-global-settings}'
319         ignore-upstream-changes: true
320         post-step-run-condition: 'SUCCESS'
321
322     postbuilders:
323         - trigger-builds:
324             - project: 'integration-distribution-deploy-{stream}'
325               block: true
326               predefined-parameters:
327                   BUNDLEURL=$BUNDLEURL
328
329     publishers:
330         - email-notification:
331             email-prefix: '[$GERRIT_PROJECT]'
332