Merge "fixing docs to make the YAML valid"
[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         - project-parameter:
41             project: 'integration/distribution'
42         - gerrit-parameters:
43             project: '{project}'
44             branch: '{branch}'
45             refspec: 'refs/heads/{branch}'
46         - integration-patch-refspec:
47             branch: '$GERRIT_REFSPEC'
48
49     scm:
50         - gerrit-trigger-scm:
51             refspec: '$PATCHREFSPEC'
52             choosing-strategy: 'gerrit'
53
54     wrappers:
55         - opendaylight-infra-wrappers:
56             build-timeout: '{build-timeout}'
57
58     triggers:
59         - gerrit-trigger-relevant-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         - provide-maven-settings:
69             global-settings-file: 'odl-global-settings'
70             settings-file: 'integration-settings'
71
72     maven:
73         maven-name: '{mvn33}'
74         root-pom: 'pom.xml'
75         goals: 'clean install -V -B -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dstream={stream}'
76         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
77         settings: 'integration-settings'
78         settings-type: cfp
79         global-settings: 'odl-global-settings'
80         global-settings-type: cfp
81         ignore-upstream-changes: true
82         post-step-run-condition: 'SUCCESS'
83
84     postbuilders:
85         - trigger-builds:
86             - project: 'integration-distribution-deploy-{stream}'
87               block: true
88               predefined-parameters:
89                   BUNDLEURL=$BUNDLEURL
90
91     publishers:
92         - email-notification:
93             email-prefix: '[integration]'
94         - archive-artifacts:
95             artifacts: '**/target/surefire-reports/*-output.txt, '
96         - findbugs
97         - jacoco-report
98
99 - job-template:
100     name: 'integration-distribution-merge-{stream}'
101
102     project-type: maven
103     node: dynamic_merge
104     jdk: '{jre}'
105
106     logrotate:
107         daysToKeep: '{build-days-to-keep}'
108         numToKeep: '{build-num-to-keep}'
109         artifactDaysToKeep: '{build-artifact-days-to-keep}'
110         artifactNumToKeep: '{build-artifact-num-to-keep}'
111
112     parameters:
113         - project-parameter:
114             project: 'integration/distribution'
115         - gerrit-parameters:
116             project: '{project}'
117             branch: '{branch}'
118             refspec: 'refs/heads/{branch}'
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 -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         - archive-artifacts:
191             artifacts: '**/target/surefire-reports/*-output.txt, '
192         - email-notification:
193             email-prefix: '[integration]'
194         - maven-deploy:
195             id: ''
196             unique-version: true
197             deploy-unstable: false
198         - jacoco-report
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         - project-parameter:
219             project: 'integration/distribution'
220         - integration-branch:
221             branch: '{branch}'
222         - integration-bundleurl:
223             bundleurl: 'last'
224         - integration-jdk-version:
225             jdkversion: '{jre}'
226
227     wrappers:
228         - opendaylight-infra-wrappers:
229             build-timeout: '{build-timeout}'
230
231     triggers:
232         - timed: 'H H * * *'
233
234     builders:
235         - integration-get-bundle-vars
236         - inject:
237             properties-file: 'bundle_vars.txt'
238         - integration-deploy-controller-verify
239
240     publishers:
241         - email-notification:
242             email-prefix: '[integration]'
243         - integration-csit-archive-build
244         - archive-build:
245             maven-version: '{mvn33}'
246
247 # Template: integration-distribution-offline-{stream}
248 # Goal: Verify distribution can start with no internet connection
249 # Operation: This job deploys the controller removing any external repository definition
250
251 - job-template:
252     name: 'integration-distribution-offline-{stream}'
253
254     project-type: freestyle
255     node: dynamic_verify
256
257     logrotate:
258         daysToKeep: '{build-days-to-keep}'
259         numToKeep: '{build-num-to-keep}'
260         artifactDaysToKeep: '{build-artifact-days-to-keep}'
261         artifactNumToKeep: '{build-num-to-keep}'
262
263     parameters:
264         - project-parameter:
265             project: 'integration/distribution'
266         - integration-branch:
267             branch: '{branch}'
268         - integration-bundleurl:
269             bundleurl: 'last'
270         - integration-jdk-version:
271             jdkversion: '{jre}'
272
273     wrappers:
274         - opendaylight-infra-wrappers:
275             build-timeout: '{build-timeout}'
276
277     triggers:
278         - timed: 'H H * * *'
279
280     builders:
281         - integration-get-bundle-vars
282         - inject:
283             properties-file: 'bundle_vars.txt'
284         - integration-deploy-controller-offline
285
286     publishers:
287         - email-notification:
288             email-prefix: '[integration]'
289         - integration-csit-archive-build
290         - archive-build:
291             maven-version: '{mvn33}'