Revert "Enable shallow clone for git repos"
[releng/builder.git] / jjb / integration / integration-macros.yaml
1 - parameter:
2     name: integration-branch
3     parameters:
4         - string:
5             name: BRANCH
6             default: '{branch}'
7             description: 'Distribution GIT branch'
8
9 - parameter:
10     name: integration-bundleurl
11     parameters:
12         - string:
13             name: BUNDLEURL
14             default: '{bundleurl}'
15             description: 'URL to karaf distribution zip'
16
17 - parameter:
18     name: integration-jdk-version
19     parameters:
20         - string:
21             name: JDKVERSION
22             default: '{jdkversion}'
23             description: 'Parameter to indicate JAVA Version'
24
25 - parameter:
26     name: integration-controller-scope
27     parameters:
28         - string:
29             name: CONTROLLERSCOPE
30             default: '{controller-scope}'
31             description: 'Feature Only or Feature All test'
32
33 - parameter:
34     name: integration-controller-features
35     parameters:
36         - string:
37             name: CONTROLLERFEATURES
38             default: '{controller-features}'
39             description: 'Features to install in the controller separated by comma'
40
41 - parameter:
42     name: integration-distribution-stream
43     parameters:
44         - string:
45             name: DISTROSTREAM
46             default: '{stream}'
47             description: 'Distribution stream string, for suites to know which behavior to expect'
48
49 - parameter:
50     name: integration-stream-test-plan
51     parameters:
52         - string:
53             name: STREAMTESTPLAN
54             default: '{stream-test-plan}'
55             description: 'Stream-specific test plan we will run'
56
57 - parameter:
58     name: integration-test-plan
59     parameters:
60         - string:
61             name: TESTPLAN
62             default: '{test-plan}'
63             description: 'General test plan we will run unless stream-specific one is found'
64
65 - parameter:
66     name: integration-test-options
67     parameters:
68         - string:
69             name: TESTOPTIONS
70             default: '{test-options}'
71             description: 'Robot command options'
72
73 - parameter:
74     name: integration-distribution-git-url
75     parameters:
76         - string:
77             name: DISTROGITURL
78             default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/integration/distribution'
79             description: 'Distribution GIT URL (do not modify)'
80
81 - parameter:
82     name: integration-patch-refspec
83     parameters:
84         - string:
85             name: PATCHREFSPEC
86             default: '{branch}'
87             description: 'Integration Patch Refspec'
88
89 # Macro: integration-gerrit-scm
90 # Operation: this macro downloads a project gerrit
91 # Used by: all csit jobs
92
93 - scm:
94     name: integration-gerrit-scm
95     scm:
96         - git:
97             credentials-id: '{credentials-id}'
98             url: '$GIT_BASE'
99             basedir: '{basedir}'
100             refspec: '{refspec}'
101             branches:
102                 - 'origin/{branch}'
103             skip-tag: true
104             choosing-strategy: 'gerrit'
105
106 # Macro: integration-distribution-scm
107 # Operation: this macro downloads the integration/distribution repo using distribution as basedir
108 # Used by: integration-patch-test-{stream} job template
109
110 - scm:
111     name: integration-distribution-scm
112     scm:
113         - git:
114             credentials-id: '{credentials-id}'
115             basedir: 'distribution'
116             url: '$DISTROGITURL'
117             refspec: ''
118             branches:
119                 - 'origin/{branch}'
120             skip-tag: true
121
122 # Macro: integration-trigger-patch-submitted
123 # Operation: this macro sets a trigger for patch submitted on a path pattern
124 # Used by: {project}-verify-csit-* job templates
125
126 - trigger:
127     name: integration-trigger-patch-submitted
128     triggers:
129         - gerrit:
130             server-name: 'OpenDaylight'
131             trigger-on:
132                 - patchset-created-event:
133                     exclude-drafts: 'true'
134                     exclude-trivial-rebase: 'false'
135                     exclude-no-code-change: 'true'
136                 - draft-published-event
137                 - comment-added-contains-event:
138                     comment-contains-value: 'recheck'
139                 - comment-added-contains-event:
140                     comment-contains-value: 'reverify'
141             override-votes: true
142             gerrit-build-unstable-verified-value: +1
143             gerrit-build-unstable-codereview-value: 0
144             projects:
145               - project-compare-type: 'ANT'
146                 project-pattern: '{name}'
147                 branches:
148                   - branch-compare-type: 'ANT'
149                     branch-pattern: '**/{branch}'
150                 file-paths:
151                   - compare-type: 'ANT'
152                     pattern: '{pattern}'
153
154 # Macro: integration-trigger-patch-merged
155 # Operation: this macro sets a trigger for patch merged on a path pattern
156 # Used by: not used yet
157
158 - trigger:
159     name: integration-trigger-patch-merged
160     triggers:
161         - gerrit:
162             server-name: 'OpenDaylight'
163             trigger-on:
164                 - change-merged-event
165                 - comment-added-contains-event:
166                     comment-contains-value: 'remerge'
167             projects:
168               - project-compare-type: 'ANT'
169                 project-pattern: '{name}'
170                 branches:
171                   - branch-compare-type: 'ANT'
172                     branch-pattern: '**/{branch}'
173                 file-paths:
174                   - compare-type: 'ANT'
175                     pattern: '{pattern}'
176
177 # Macro: integration-csit-only
178 # Operation: this macro sets a trigger on reverse job list
179 # Used by: csit -only- job templates
180
181 - trigger:
182     name: integration-csit-only
183     triggers:
184         - reverse:
185             jobs: '{jobs}'
186             result: 'success'
187
188 # Macro: integration-csit-all
189 # Operation: this macro sets a periodic trigger
190 # Used by: csit -all- job teamplates
191
192 - trigger:
193     name: integration-csit-all
194     triggers:
195         - timed: 'H H * * *'
196
197 # Macro: integration-jclouds-controller-mininet
198 # Operation: this macro will spin the controller and mininet vms
199 # Used by: {project}-csit-* job templates
200
201 - wrapper:
202     name: integration-jclouds-controller-mininet
203     wrappers:
204       - jclouds:
205           instances:
206             - rk-c7-java:
207                 cloud-name: 'Rackspace DFW - Integration Dynamic Lab'
208                 count: '{controller-vms}'
209                 stop-on-terminate: False
210             - '{mininet-image}':
211                 cloud-name: '{mininet-cloud-name}'
212                 count: '{mininet-vms}'
213                 stop-on-terminate: False
214
215 #################
216 # Shell Scripts #
217 #################
218
219 # Macro: integration-get-slave-addresses
220 # Operation: this macro gets the IP addresses of the dynamic vms
221 # Used by: {project}-csit-* job templates
222
223 - builder:
224     name: integration-get-slave-addresses
225     builders:
226         - shell:
227             !include-raw:
228                 - include-raw-integration-get-slave-addresses.sh
229
230 # Macro: integration-get-bundle-vars
231 # Operation: this macro gets all bundle related variables
232 # Used by: {project}-csit-3node-* job templates
233
234 - builder:
235     name: integration-get-bundle-vars
236     builders:
237         - shell:
238             !include-raw:
239                 - include-raw-integration-get-bundle-vars.sh
240
241 # Macro: integration-distribution-check
242 # Operation: this macro deploys the controller with all fetures
243 # Used by: {project}-distribution-check-{stream} job template
244
245 - builder:
246     name: integration-distribution-check
247     builders:
248         - shell:
249             !include-raw:
250                 - include-raw-integration-distribution-check.sh
251
252 # Macro: integration-deploy-controller-verify
253 # Operation: this macro deploys the controller with all fetures
254 # Used by: integration-distribution-deploy-{stream} job template
255
256 - builder:
257     name: integration-deploy-controller-verify
258     builders:
259         - shell:
260             !include-raw:
261                 - include-raw-integration-deploy-controller-verify.sh
262
263 # Macro: integration-deploy-controller-offline
264 # Operation: this macro deploys the controller with no external repo configuration
265 # Used by: integration-distrbution-offline-{stream} job template
266
267 - builder:
268     name: integration-deploy-controller-offline
269     builders:
270         - shell:
271             !include-raw:
272                 - include-raw-integration-deploy-controller-offline.sh
273
274 # Macro: integration-deply-controller-run-test
275 # Operation: this macro deploys single contoller and runs test
276 # Used by: {project}-csit-1node-* job templates
277
278 - builder:
279     name: integration-deploy-controller-run-test
280     builders:
281         - shell:
282             !include-raw:
283                 - include-raw-integration-deploy-controller-run-test.sh
284
285 # Macro: include-raw-integration-deploy-robot-testing
286 # Operation: this macro only resolves suite path from testplan
287 # Used by: {project}-openstack-{functionality}-daily-{openstack}-{odl} job templates
288
289 - builder:
290     name: include-raw-integration-deploy-devstack-testing
291     builders:
292         - shell:
293             !include-raw:
294                 - include-raw-integration-deploy-devstack-testing.sh
295
296 # Macro: integration-deploy-controller
297 # Operation: this macro prepares 3-node cluster controller
298 # Used by: {project}-csit-3node-* job templates
299
300 - builder:
301     name: integration-deploy-controller
302     builders:
303         - shell:
304             !include-raw:
305                 - include-raw-integration-deploy-controller.sh
306
307 # Macro: integration-configure-clustering
308 # Operation: this macro configures the clustering
309 # Used by: {project}-csit-3node-* job templates
310
311 - builder:
312     name: integration-configure-clustering
313     builders:
314         - shell:
315             !include-raw:
316                 - include-raw-integration-configure-clustering.sh
317
318 # Macro: integration-start-cluster-run-test
319 # Operation: this macro starts the 3-node cluster and runs test
320 # Used by: {project}-csit-3node-* job templates
321
322 - builder:
323     name: integration-start-cluster-run-test
324     builders:
325         - shell:
326             !include-raw:
327                 - include-raw-integration-start-cluster-run-test.sh
328
329 # Macro: integration-get-bundle-url
330 # Operation: this macro gets the job generated distribution URL from distribution pom.xml
331 # Used by: integration-patch-test-{stream} job template
332
333 - builder:
334     name: integration-get-bundle-url
335     builders:
336         - shell:
337             !include-raw:
338                 - include-raw-integration-get-bundle-url.sh
339
340 # Macro: integration-get-bundle-url-root
341 # Operation: this macro gets the job generated distribution URL from root pom.xml
342 # Used by: integration-distribution-verify-{stream} job template
343
344 - builder:
345     name: integration-get-bundle-url-root
346     builders:
347         - shell:
348             !include-raw:
349                 - include-raw-integration-get-bundle-url-root.sh
350
351 # Macro: integration-install-robotframework
352 # Operation: Installs robotframework using pip to a virtualenv
353 # Used by: {project}-csit-* job templates
354
355 - builder:
356     name: integration-install-robotframework
357     builders:
358         - shell:
359             !include-raw:
360                 - include-raw-integration-install-robotframework.sh
361
362 # Macro: integration-cleanup-tmp
363 # Operation: Cleans up temporary files created by build
364 # Used by: {project}-csit-* job templates
365
366 - builder:
367     name: integration-cleanup-tmp
368     builders:
369         - shell:
370             !include-raw:
371                 - include-raw-integration-cleanup-tmp.sh
372
373 # Macro: integration-multipatch-builder
374 # Operation: checks out multiple patches and builds custom distribution
375 # Used by: integration-multipatch-test-* job templates
376
377 - builder:
378     name: integration-multipatch-builder
379     builders:
380         - shell:
381             !include-raw:
382                 - include-raw-integration-multipatch-distribution-test.sh
383
384 # Macro: integration-cleanup-worspace
385 # Operation: Cleans up files possibly left there by the previous build
386 # Used by: {project}-csit-* job templates
387
388 - builder:
389     name: integration-cleanup-workspace
390     builders:
391         - shell:
392             !include-raw:
393                 - include-raw-integration-cleanup-workspace.sh
394
395 # Macro: integration-rebase-patch
396 # Operation: For cloned project, rebase checked-out Gerrit patch onto $BRANCH.
397 # Used by: integration-patch-distribution-* job template
398
399 - builder:
400     name: integration-rebase-gerrit-patch
401     builders:
402         - shell:
403             !include-raw:
404                 - include-raw-integration-rebase-gerrit-patch.sh
405
406 ##############
407 # Publishers #
408 ##############
409
410 # Macro: integration-robot
411 # Operation: this macro publishes robot results
412 # Used by: {project}-csit-* job templates
413
414 - publisher:
415     name: integration-robot
416     publishers:
417         - robot:
418             output-path: ''
419             other-files: ''
420             unstable-threshold: '{unstable-if}'
421             pass-threshold: '{pass-if}'
422             only-critical: false