Merge "Add pip freeze to builder-merge job"
[releng/builder.git] / jjb / integration / integration-distribution-jobs.yaml
1
2 - project:
3     name: integration-distribution
4     jobs:
5         - '{name}-verify-python-{stream}'
6         - 'integration-distribution-verify-{stream}'
7         - 'integration-distribution-merge-{stream}'
8         - 'integration-distribution-deploy-{stream}'
9         - 'integration-distribution-offline-{stream}'
10
11     project: integration/distribution
12
13     stream:
14         - boron:
15             branch: 'master'
16             jre: 'openjdk8'
17         - beryllium:
18             branch: 'stable/beryllium'
19             jre: 'openjdk7'
20         - stable-lithium:
21             branch: 'stable/lithium'
22             jre: 'openjdk7'
23
24
25 - job-template:
26     name: 'integration-distribution-verify-{stream}'
27
28     project-type: maven
29     node: dynamic_verify
30     concurrent: true
31     jdk: '{jre}'
32
33     logrotate:
34         daysToKeep: '{build-days-to-keep}'
35         numToKeep: '{build-num-to-keep}'
36         artifactDaysToKeep: '{build-artifact-days-to-keep}'
37         artifactNumToKeep: '{build-artifact-num-to-keep}'
38
39     parameters:
40         - opendaylight-infra-parameters:
41             project: '{project}'
42             branch: '{branch}'
43             refspec: 'refs/heads/{branch}'
44             artifacts: '{archive-artifacts} **/dependency_tree.txt'
45         - integration-patch-refspec:
46             branch: '$GERRIT_REFSPEC'
47
48     scm:
49         - gerrit-trigger-scm:
50             refspec: '$PATCHREFSPEC'
51             choosing-strategy: 'gerrit'
52
53     wrappers:
54         - opendaylight-infra-wrappers:
55             build-timeout: '{build-timeout}'
56
57     triggers:
58         - gerrit-trigger-relevant-patch-submitted:
59             name: 'integration/distribution'
60             branch: '{branch}'
61
62     prebuilders:
63         - integration-get-bundle-url-root
64         - inject:
65             properties-file: 'bundle.txt'
66         - wipe-org-opendaylight-repo
67         - provide-maven-settings:
68             global-settings-file: 'odl-global-settings'
69             settings-file: 'integration-settings'
70
71     maven:
72         maven-name: '{mvn33}'
73         root-pom: 'pom.xml'
74         goals: 'clean install dependency:tree -DoutputFile=dependency_tree.txt -V -B -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dstream={stream}'
75         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
76         settings: 'integration-settings'
77         settings-type: cfp
78         global-settings: 'odl-global-settings'
79         global-settings-type: cfp
80         ignore-upstream-changes: true
81         post-step-run-condition: 'SUCCESS'
82
83     postbuilders:
84         - trigger-builds:
85             - project: 'integration-distribution-deploy-{stream}'
86               block: true
87               predefined-parameters:
88                   BUNDLEURL=$BUNDLEURL
89
90     reporters:
91         - findbugs
92
93     publishers:
94         - jacoco-report
95         - archive-build:
96             maven-version: '{mvn33}'
97         - email-notification:
98             email-prefix: '[int/dist]'
99
100 - job-template:
101     name: 'integration-distribution-merge-{stream}'
102
103     project-type: maven
104     node: dynamic_merge
105     jdk: '{jre}'
106
107     logrotate:
108         daysToKeep: '{build-days-to-keep}'
109         numToKeep: '{build-num-to-keep}'
110         artifactDaysToKeep: '{build-artifact-days-to-keep}'
111         artifactNumToKeep: '{build-artifact-num-to-keep}'
112
113     parameters:
114         - opendaylight-infra-parameters:
115             project: '{project}'
116             branch: '{branch}'
117             refspec: 'refs/heads/{branch}'
118             artifacts: '{archive-artifacts} **/dependency_tree.txt'
119
120     scm:
121         - gerrit-trigger-scm:
122             refspec: ''
123             choosing-strategy: 'default'
124
125     wrappers:
126         - opendaylight-infra-wrappers:
127             build-timeout: '{build-timeout}'
128
129     triggers:
130         - timed: 'H H * * 0'
131         - gerrit-trigger-patch-merged:
132             name: 'integration/distribution'
133             branch: '{branch}'
134
135     prebuilders:
136         - wipe-org-opendaylight-repo
137         - jacoco-nojava-workaround
138         - provide-maven-settings:
139             global-settings-file: 'odl-global-settings'
140             settings-file: 'integration-settings'
141
142     maven:
143         maven-name: '{mvn33}'
144         root-pom: 'pom.xml'
145         goals: 'clean install dependency:tree -DoutputFile=dependency_tree.txt -V -B -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dmerge -Dstream={stream}'
146         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
147         settings: 'integration-settings'
148         settings-type: cfp
149         global-settings: 'odl-global-settings'
150         global-settings-type: cfp
151
152     postbuilders:
153         - conditional-step:
154             condition-kind: file-exists
155             condition-filename: deploy-site.xml
156             condition-basedir: workspace
157
158             # The strategy here is intentional to run Maven site:deploy twice
159             # once using regular pom.xml to produce a staged-site which is
160             # then used by deploy-site.xml to push to Nexus. This is a
161             # workaround to Maven Site's default linking code which creates
162             # incorrect URLs for sites due to auto-detection assuming your
163             # project is configured in a certain way which ODL is not.
164             steps:
165             - maven-target:
166                 maven-version: '{mvn33}'
167                 pom: pom.xml
168                 goals: 'site:deploy -V -B -Dstream={stream}'
169                 java-opts:
170                     - '-Xmx2g'
171                 settings: 'integration-settings'
172                 settings-type: cfp
173                 global-settings: 'odl-global-settings'
174                 global-settings-type: cfp
175             - maven-target:
176                 maven-version: '{mvn33}'
177                 pom: deploy-site.xml
178                 goals: 'site:deploy -V -B -Dstream={stream}'
179                 java-opts:
180                     - '-Xmx2g'
181                 settings: 'integration-settings'
182                 settings-type: cfp
183                 global-settings: 'odl-global-settings'
184                 global-settings-type: cfp
185
186     reporters:
187         - findbugs
188
189     publishers:
190         - maven-deploy:
191             id: ''
192             unique-version: true
193             deploy-unstable: false
194         - jacoco-report
195         - archive-build:
196             maven-version: '{mvn33}'
197         - email-notification:
198             email-prefix: '[int/dist]'
199
200 # Template: integration-distribution-deploy-{stream}
201 # Goal: Verify distribution starts with no issues when all features are loaded
202 # Operation: This job deploys the controller installing odl-integration-all
203
204 - job-template:
205     name: 'integration-distribution-deploy-{stream}'
206
207     project-type: freestyle
208     node: dynamic_verify
209     concurrent: true
210
211     logrotate:
212         daysToKeep: '{build-days-to-keep}'
213         numToKeep: '{build-num-to-keep}'
214         artifactDaysToKeep: '{build-artifact-days-to-keep}'
215         artifactNumToKeep: '{build-num-to-keep}'
216
217     parameters:
218         - opendaylight-infra-parameters:
219             project: '{project}'
220             branch: '{branch}'
221             refspec: 'refs/heads/{branch}'
222             artifacts: '{archive-artifacts}'
223         - integration-branch:
224             branch: '{branch}'
225         - integration-bundleurl:
226             bundleurl: 'last'
227         - integration-jdk-version:
228             jdkversion: '{jre}'
229
230     wrappers:
231         - opendaylight-infra-wrappers:
232             build-timeout: '{build-timeout}'
233
234     triggers:
235         - timed: 'H H * * *'
236
237     builders:
238         - integration-get-bundle-vars
239         - inject:
240             properties-file: 'bundle_vars.txt'
241         - integration-deploy-controller-verify
242
243     publishers:
244         - email-notification:
245             email-prefix: '[int/dist]'
246         - integration-csit-archive-build
247         - archive-build:
248             maven-version: '{mvn33}'
249
250 # Template: integration-distribution-offline-{stream}
251 # Goal: Verify distribution can start with no internet connection
252 # Operation: This job deploys the controller removing any external repository definition
253
254 - job-template:
255     name: 'integration-distribution-offline-{stream}'
256
257     project-type: freestyle
258     node: dynamic_verify
259
260     logrotate:
261         daysToKeep: '{build-days-to-keep}'
262         numToKeep: '{build-num-to-keep}'
263         artifactDaysToKeep: '{build-artifact-days-to-keep}'
264         artifactNumToKeep: '{build-num-to-keep}'
265
266     parameters:
267         - opendaylight-infra-parameters:
268             project: '{project}'
269             branch: '{branch}'
270             refspec: 'refs/heads/{branch}'
271             artifacts: '{archive-artifacts}'
272         - integration-branch:
273             branch: '{branch}'
274         - integration-bundleurl:
275             bundleurl: 'last'
276         - integration-jdk-version:
277             jdkversion: '{jre}'
278
279     wrappers:
280         - opendaylight-infra-wrappers:
281             build-timeout: '{build-timeout}'
282
283     triggers:
284         - timed: 'H H * * *'
285
286     builders:
287         - integration-get-bundle-vars
288         - inject:
289             properties-file: 'bundle_vars.txt'
290         - integration-deploy-controller-offline
291
292     publishers:
293         - email-notification:
294             email-prefix: '[int/dist]'
295         - integration-csit-archive-build
296         - archive-build:
297             maven-version: '{mvn33}'