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