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