Merge "Improve archive-build macro to gzip any text file"
[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}'
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 -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     publishers:
91         - email-notification:
92             email-prefix: '[integration]'
93         - archive-artifacts:
94             artifacts: '**/target/surefire-reports/*-output.txt, '
95         - findbugs
96         - jacoco-report
97
98 - job-template:
99     name: 'integration-distribution-merge-{stream}'
100
101     project-type: maven
102     node: dynamic_merge
103     jdk: '{jre}'
104
105     logrotate:
106         daysToKeep: '{build-days-to-keep}'
107         numToKeep: '{build-num-to-keep}'
108         artifactDaysToKeep: '{build-artifact-days-to-keep}'
109         artifactNumToKeep: '{build-artifact-num-to-keep}'
110
111     parameters:
112         - opendaylight-infra-parameters:
113             project: '{project}'
114             branch: '{branch}'
115             refspec: 'refs/heads/{branch}'
116             artifacts: '{archive-artifacts}'
117
118     scm:
119         - gerrit-trigger-scm:
120             refspec: ''
121             choosing-strategy: 'default'
122
123     wrappers:
124         - opendaylight-infra-wrappers:
125             build-timeout: '{build-timeout}'
126
127     triggers:
128         - timed: 'H H * * 0'
129         - gerrit-trigger-patch-merged:
130             name: 'integration/distribution'
131             branch: '{branch}'
132
133     prebuilders:
134         - wipe-org-opendaylight-repo
135         - jacoco-nojava-workaround
136         - provide-maven-settings:
137             global-settings-file: 'odl-global-settings'
138             settings-file: 'integration-settings'
139
140     maven:
141         maven-name: '{mvn33}'
142         root-pom: 'pom.xml'
143         goals: 'clean install -V -B -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dmerge -Dstream={stream}'
144         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
145         settings: 'integration-settings'
146         settings-type: cfp
147         global-settings: 'odl-global-settings'
148         global-settings-type: cfp
149
150     postbuilders:
151         - conditional-step:
152             condition-kind: file-exists
153             condition-filename: deploy-site.xml
154             condition-basedir: workspace
155
156             # The strategy here is intentional to run Maven site:deploy twice
157             # once using regular pom.xml to produce a staged-site which is
158             # then used by deploy-site.xml to push to Nexus. This is a
159             # workaround to Maven Site's default linking code which creates
160             # incorrect URLs for sites due to auto-detection assuming your
161             # project is configured in a certain way which ODL is not.
162             steps:
163             - maven-target:
164                 maven-version: '{mvn33}'
165                 pom: pom.xml
166                 goals: 'site:deploy -V -B -Dstream={stream}'
167                 java-opts:
168                     - '-Xmx2g'
169                 settings: 'integration-settings'
170                 settings-type: cfp
171                 global-settings: 'odl-global-settings'
172                 global-settings-type: cfp
173             - maven-target:
174                 maven-version: '{mvn33}'
175                 pom: deploy-site.xml
176                 goals: 'site:deploy -V -B -Dstream={stream}'
177                 java-opts:
178                     - '-Xmx2g'
179                 settings: 'integration-settings'
180                 settings-type: cfp
181                 global-settings: 'odl-global-settings'
182                 global-settings-type: cfp
183
184     reporters:
185         - findbugs
186
187     publishers:
188         - archive-artifacts:
189             artifacts: '**/target/surefire-reports/*-output.txt, '
190         - email-notification:
191             email-prefix: '[integration]'
192         - maven-deploy:
193             id: ''
194             unique-version: true
195             deploy-unstable: false
196         - jacoco-report
197
198 # Template: integration-distribution-deploy-{stream}
199 # Goal: Verify distribution starts with no issues when all features are loaded
200 # Operation: This job deploys the controller installing odl-integration-all
201
202 - job-template:
203     name: 'integration-distribution-deploy-{stream}'
204
205     project-type: freestyle
206     node: dynamic_verify
207     concurrent: true
208
209     logrotate:
210         daysToKeep: '{build-days-to-keep}'
211         numToKeep: '{build-num-to-keep}'
212         artifactDaysToKeep: '{build-artifact-days-to-keep}'
213         artifactNumToKeep: '{build-num-to-keep}'
214
215     parameters:
216         - opendaylight-infra-parameters:
217             project: '{project}'
218             branch: '{branch}'
219             refspec: 'refs/heads/{branch}'
220             artifacts: '{archive-artifacts}'
221         - integration-branch:
222             branch: '{branch}'
223         - integration-bundleurl:
224             bundleurl: 'last'
225         - integration-jdk-version:
226             jdkversion: '{jre}'
227
228     wrappers:
229         - opendaylight-infra-wrappers:
230             build-timeout: '{build-timeout}'
231
232     triggers:
233         - timed: 'H H * * *'
234
235     builders:
236         - integration-get-bundle-vars
237         - inject:
238             properties-file: 'bundle_vars.txt'
239         - integration-deploy-controller-verify
240
241     publishers:
242         - email-notification:
243             email-prefix: '[integration]'
244         - integration-csit-archive-build
245         - archive-build:
246             maven-version: '{mvn33}'
247
248 # Template: integration-distribution-offline-{stream}
249 # Goal: Verify distribution can start with no internet connection
250 # Operation: This job deploys the controller removing any external repository definition
251
252 - job-template:
253     name: 'integration-distribution-offline-{stream}'
254
255     project-type: freestyle
256     node: dynamic_verify
257
258     logrotate:
259         daysToKeep: '{build-days-to-keep}'
260         numToKeep: '{build-num-to-keep}'
261         artifactDaysToKeep: '{build-artifact-days-to-keep}'
262         artifactNumToKeep: '{build-num-to-keep}'
263
264     parameters:
265         - opendaylight-infra-parameters:
266             project: '{project}'
267             branch: '{branch}'
268             refspec: 'refs/heads/{branch}'
269             artifacts: '{archive-artifacts}'
270         - integration-branch:
271             branch: '{branch}'
272         - integration-bundleurl:
273             bundleurl: 'last'
274         - integration-jdk-version:
275             jdkversion: '{jre}'
276
277     wrappers:
278         - opendaylight-infra-wrappers:
279             build-timeout: '{build-timeout}'
280
281     triggers:
282         - timed: 'H H * * *'
283
284     builders:
285         - integration-get-bundle-vars
286         - inject:
287             properties-file: 'bundle_vars.txt'
288         - integration-deploy-controller-offline
289
290     publishers:
291         - email-notification:
292             email-prefix: '[integration]'
293         - integration-csit-archive-build
294         - archive-build:
295             maven-version: '{mvn33}'