2 - xtesting-jobs: &xtesting-jobs
4 current-parameters: true
6 - xtesting-params: &xtesting-params
7 name: 'xtesting-params'
30 - xtesting-containers: &xtesting-containers
31 name: 'xtesting-containers'
34 container: '{container}'
37 - xtesting-run-containers: &xtesting-run-containers
38 name: 'xtesting-build-containers'
39 <<: *xtesting-containers
42 - xtesting-build-containers: &xtesting-build-containers
43 name: 'xtesting-build-containers'
44 <<: *xtesting-containers
49 name: xtesting-pull-containers
53 if [ "{repo}" = "_" ]; then
54 image={container}:{tag}
55 elif [ "{port}" = "None" ]; then
56 image={repo}/{container}:{tag}
58 image={repo}:{port}/{container}:{tag}
60 sudo docker pull $image
63 name: xtesting-build-containers
67 if [ "{repo}" = "_" ]; then
68 image={container}:{tag}
69 elif [ "{port}" = "None" ]; then
70 image={repo}/{container}:{tag}
72 image={repo}:{port}/{container}:{tag}
74 if [ "{ref_arg}" = "None" ]; then
77 build_arg="--build-arg {ref_arg}={ref}"
80 sudo docker build $build_arg \
81 --pull=false --no-cache --force-rm=true \
85 name: xtesting-run-containers
89 [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
90 if [ "{repo}" = "_" ]; then
91 image={container}:{tag}
92 elif [ "{port}" = "None" ]; then
93 image={repo}/{container}:{tag}
95 image={repo}:{port}/{container}:{tag}
97 sudo docker run --rm \
98 -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
99 $image run_tests -t {test}
101 gsutil -m cp -r $WORKSPACE/ \
102 gs://artifacts.opnfv.org/xtesting/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
103 find $WORKSPACE -type f \
105 "http://artifacts.opnfv.org/xtesting/$JOB_NAME-$BUILD_ID/%P\n"
109 name: xtesting-remove-images
113 if [ "{repo}" = "_" ]; then
114 image={container}:{tag}
115 elif [ "{port}" = "None" ]; then
116 image={repo}/{container}:{tag}
118 image={repo}:{port}/{container}:{tag}
120 sudo docker rmi $image || true
126 url: https://gerrit.opnfv.org/gerrit/functest-xtesting
127 refspec: '+refs/changes/*:refs/changes/*'
132 name: 'xtesting-{repo}-{container}-{tag}-pull'
136 - xtesting-pull-containers:
137 <<: *xtesting-containers
140 name: 'xtesting-opnfv-xtesting-pull'
142 container: 'xtesting'
144 - 'xtesting-{repo}-{container}-{tag}-pull'
147 name: 'xtesting-{repo}-{container}-{tag}-rmi'
151 - xtesting-remove-images:
152 <<: *xtesting-containers
155 name: 'xtesting-opnfv-xtesting-rmi'
157 container: 'xtesting'
159 - 'xtesting-{repo}-{container}-{tag}-rmi'
162 name: 'xtesting-{repo}-{container}-{tag}-{test}-run'
166 - xtesting-run-containers:
167 <<: *xtesting-run-containers
170 name: 'xtesting-opnfv-xtesting'
172 container: 'xtesting'
180 - 'xtesting-{repo}-{container}-{tag}-{test}-run'
183 name: 'xtesting-{tag}-daily'
184 project-type: multijob
191 use-build-blocker: true
192 blocking-level: 'NODE'
194 - '^xtesting-[a-z]+-(daily|check|gate)$'
197 name: remove former images
199 - name: 'xtesting-opnfv-xtesting-{tag}-rmi'
202 name: pull containers
204 - name: 'xtesting-opnfv-xtesting-{tag}-pull'
207 name: opnfv/xtesting:{tag}
209 - name: 'xtesting-opnfv-xtesting-{tag}-first-run'
211 - name: 'xtesting-opnfv-xtesting-{tag}-second-run'
213 - name: 'xtesting-opnfv-xtesting-{tag}-third-run'
215 - name: 'xtesting-opnfv-xtesting-{tag}-fourth-run'
217 - name: 'xtesting-opnfv-xtesting-{tag}-fifth-run'
221 name: 'xtesting-{repo}-{container}-{tag}-gate'
228 - xtesting-build-containers:
229 <<: *xtesting-build-containers
233 name: 'xtesting-{repo}-{container}-{tag}-check'
242 - xtesting-build-containers:
243 <<: *xtesting-build-containers
247 name: 'xtesting-_-alpine-3.9-rmi'
253 - 'xtesting-{repo}-{container}-{tag}-rmi'
256 name: 'xtesting-_-alpine-3.9-pull'
262 - 'xtesting-{repo}-{container}-{tag}-pull'
265 name: xtesting-opnfv-xtesting-{tag}-build
271 - 'xtesting-{repo}-{container}-{tag}-gate'
272 - 'xtesting-{repo}-{container}-{tag}-check'
275 name: 'xtesting-{tag}-check'
276 project-type: multijob
283 use-build-blocker: true
284 blocking-level: 'NODE'
286 - '^xtesting-[a-z]+-(daily|check|gate)$'
289 name: remove former images
291 - name: 'xtesting-opnfv-xtesting-{tag}-rmi'
294 name: remove dependencies
296 - name: 'xtesting-_-alpine-3.9-rmi'
299 name: pull dependencies
301 - name: 'xtesting-_-alpine-3.9-pull'
304 name: opnfv/functest-xtesting
306 - name: 'xtesting-opnfv-xtesting-{tag}-check'
309 name: opnfv/xtesting:{tag}
311 - name: 'xtesting-opnfv-xtesting-{tag}-first-run'
313 - name: 'xtesting-opnfv-xtesting-{tag}-second-run'
315 - name: 'xtesting-opnfv-xtesting-{tag}-third-run'
317 - name: 'xtesting-opnfv-xtesting-{tag}-fourth-run'
319 - name: 'xtesting-opnfv-xtesting-{tag}-fifth-run'
323 name: xtesting-patchset-created
326 server-name: 'gerrit.opnfv.org'
328 - patchset-created-event
329 - comment-added-contains-event:
330 comment-contains-value: 'recheck'
331 - comment-added-contains-event:
332 comment-contains-value: 'reverify'
334 - project-compare-type: 'ANT'
335 project-pattern: 'functest-xtesting'
337 - branch-compare-type: 'ANT'
338 branch-pattern: '**/{branch}'
346 name: 'xtesting-{tag}-gate'
347 project-type: multijob
349 - xtesting-patchset-created:
355 use-build-blocker: true
356 blocking-level: 'NODE'
358 - '^xtesting-[a-z]+-(daily|check|gate)$'
361 name: remove former images
363 - name: 'xtesting-opnfv-xtesting-{tag}-rmi'
366 name: remove dependencies
368 - name: 'xtesting-_-alpine-3.9-rmi'
371 name: pull dependencies
373 - name: 'xtesting-_-alpine-3.9-pull'
376 name: opnfv/functest-xtesting
378 - name: 'xtesting-opnfv-xtesting-{tag}-gate'
381 name: opnfv/xtesting:{tag}
383 - name: 'xtesting-opnfv-xtesting-{tag}-first-run'
385 - name: 'xtesting-opnfv-xtesting-{tag}-second-run'
387 - name: 'xtesting-opnfv-xtesting-{tag}-third-run'
389 - name: 'xtesting-opnfv-xtesting-{tag}-fourth-run'
391 - name: 'xtesting-opnfv-xtesting-{tag}-fifth-run'
398 - 'xtesting-{tag}-daily'
399 - 'xtesting-{tag}-check'
400 - 'xtesting-{tag}-gate'
412 regex: ^xtesting-[a-z]+-(daily|check|gate)$