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