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