ed1676c7b5bbbf6af56b02accfb0a1f9096802bf
[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             jdk: 'openjdk8'
15         - beryllium:
16             branch: 'stable/beryllium'
17             jdk: 'openjdk7'
18         - stable-lithium:
19             branch: 'stable/lithium'
20             jdk: 'openjdk7'
21         - stable-helium:
22             branch: 'stable/helium'
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 -Djenkins -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 -Djenkins -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_verify
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         - integration-jdk-version:
169             jdkversion: '{jdk}'
170
171     wrappers:
172         - build-timeout
173         - ssh-agent-credentials:
174             users:
175                 - '{ssh-credentials}'
176
177     triggers:
178         - timed: 'H H * * *'
179
180     builders:
181         - integration-get-bundle-vars
182         - inject:
183             properties-file: 'bundle_vars.txt'
184         - integration-deploy-controller-verify
185
186     publishers:
187         - archive:
188             artifacts: 'karaf.log'
189         - archive:
190             artifacts: 'karaf_console.log'
191         - email-notification:
192             email-prefix: '[integration]'
193
194 # Template: integration-distribution-offline-{stream}
195 # Goal: Verify distribution can start with no internet connection
196 # Operation: This job deploys the controller removing any external repository definition
197
198 - job-template:
199     name: 'integration-distribution-offline-{stream}'
200
201     project-type: freestyle
202     node: dynamic_verify
203
204     logrotate:
205         daysToKeep: '{build-days-to-keep}'
206         numToKeep: '{build-num-to-keep}'
207         artifactDaysToKeep: '{build-artifact-days-to-keep}'
208         artifactNumToKeep: '{build-artifact-num-to-keep}'
209
210     parameters:
211         - project-parameter:
212             project: 'integration/distribution'
213         - integration-branch:
214             branch: '{branch}'
215         - integration-bundleurl:
216             bundleurl: 'last'
217         - integration-jdk-version:
218             jdkversion: '{jdk}'
219
220     wrappers:
221         - build-timeout
222         - ssh-agent-credentials:
223             users:
224                 - '{ssh-credentials}'
225
226     triggers:
227         - timed: 'H H * * *'
228
229     builders:
230         - integration-get-bundle-vars
231         - inject:
232             properties-file: 'bundle_vars.txt'
233         - integration-deploy-controller-offline
234
235     publishers:
236         - archive:
237             artifacts: 'karaf.log'
238         - email-notification:
239             email-prefix: '[integration]'
240
241 # Template: integration-patch-distribution-{stream}
242 # Goal: Build a patch and make sure the distribution can deploy with this change
243 # Operation: This job template builds a patch, creates a distribution containing the patch, and
244 # triggers the distribution deploy test
245
246 - job-template:
247     name: 'integration-patch-distribution-{stream}'
248
249     project-type: maven
250     node: dynamic_verify
251     jdk: '{jdk}'
252
253     logrotate:
254         daysToKeep: '{build-days-to-keep}'
255         numToKeep: '{build-num-to-keep}'
256         artifactDaysToKeep: '{build-artifact-days-to-keep}'
257         artifactNumToKeep: '{build-artifact-num-to-keep}'
258
259     parameters:
260         - gerrit-project-parameter:
261             project: '$GERRIT_PROJECT'
262         - gerrit-refspec-parameter:
263             refspec: '$GERRIT_REFSPEC'
264         - project-parameter:
265             project: '$GERRIT_PROJECT'
266         - integration-distribution-git-url
267
268     scm:
269         - integration-gerrit-scm:
270             credentials-id: '{ssh-credentials}'
271             basedir: '$GERRIT_PROJECT'
272             refspec: '$GERRIT_REFSPEC'
273             branch: '{branch}'
274         - integration-distribution-scm:
275             credentials-id: '{ssh-credentials}'
276             branch: '{branch}'
277
278     wrappers:
279         - build-timeout
280         - ssh-agent-credentials:
281             users:
282                 - '{ssh-credentials}'
283
284     triggers:
285         - gerrit:
286             server-name: 'OpenDaylight'
287             trigger-on:
288                 - comment-added-contains-event:
289                     comment-contains-value: 'test-distribution'
290             projects:
291               - project-compare-type: 'ANT'
292                 project-pattern: '**'
293                 branches:
294                   - branch-compare-type: 'ANT'
295                     branch-pattern: '**/{branch}'
296             skip-vote:
297                 successful: true
298                 failed: true
299                 unstable: true
300                 notbuilt: true
301
302     prebuilders:
303         - integration-get-bundle-url
304         - inject:
305             properties-file: 'bundle.txt'
306         - wipe-org-opendaylight-repo
307         - maven-target:
308             maven-version: '{mvn33}'
309             pom: '$GERRIT_PROJECT/pom.xml'
310             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}'
311             java-opts:
312                 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
313             settings: '{integration-settings}'
314             global-settings: '{odl-global-settings}'
315
316     maven:
317         maven-name: '{mvn33}'
318         root-pom: 'distribution/pom.xml'
319         goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
320         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
321         settings: '{integration-settings}'
322         global-settings: '{odl-global-settings}'
323         ignore-upstream-changes: true
324         post-step-run-condition: 'SUCCESS'
325
326     postbuilders:
327         - trigger-builds:
328             - project: 'integration-distribution-deploy-{stream}'
329               block: true
330               predefined-parameters:
331                   BUNDLEURL=$BUNDLEURL
332
333     publishers:
334         - email-notification:
335             email-prefix: '[$GERRIT_PROJECT]'