Skip to content
Snippets Groups Projects

Adding tests to image

Merged Daniel Juarez Gonzalez requested to merge add_tests into master
Files
4
+ 56
0
@@ -2,8 +2,13 @@
stages:
- build_koji
- build_docker
- upstream_test_docker
- cern_test_docker
- tag_docker
variables:
CI_SKIP_TESTS: "false"
koji:
stage: build_koji
image: 'gitlab-registry.cern.ch/linuxsupport/rpmci/kojicli'
@@ -50,6 +55,57 @@ docker:
- "load"
expire_in: 1 month
upstream_test_docker:
stage: upstream_test_docker
tags:
- docker-privileged
# use specific version as recommended by https://about.gitlab.com/2019/07/31/docker-in-docker-with-docker-19-dot-03/
image: docker:19.03.1
# To obtain a Docker daemon, request a Docker-in-Docker service
services:
- docker:19.03.1-dind
variables:
DOCKER_TLS_CERTDIR: "/certs"
script:
# Exit immediately if skipping tests
- if [ $CI_SKIP_TESTS = "true" ]; then echo "Skipping tests"; exit 0; fi
# Image tag comes fro previous stages, will spawn container afterwards
- export IMAGENAME=$(sed -e 's/Loaded image:\ \([[:alnum:]_\.\-]\+\).*/\1/g' load)
- export VERSION="${IMAGENAME/c8-docker-base-8.x./}"
# Start privileged container in detached mode and interactive to avoid default CMD bash to exit container
- docker run -d -t --privileged --name upstream_test_docker "${CI_REGISTRY_IMAGE}:${VERSION}"
# Run upstream tests
- docker exec -i upstream_test_docker bash < upstreamcentostests.sh
artifacts:
paths:
- "load"
expire_in: 1 month
cern_test_docker:
stage: cern_test_docker
tags:
- docker-privileged
# use specific version as recommended by https://about.gitlab.com/2019/07/31/docker-in-docker-with-docker-19-dot-03/
image: docker:19.03.1
# To obtain a Docker daemon, request a Docker-in-Docker service
services:
- docker:19.03.1-dind
variables:
DOCKER_TLS_CERTDIR: "/certs"
script:
# Exit immediately if skipping tests
- if [ $CI_SKIP_TESTS = "true" ]; then echo "Skipping tests"; exit 0; fi
# Image tag comes fro previous stages, will spawn container afterwards
- export IMAGENAME=$(sed -e 's/Loaded image:\ \([[:alnum:]_\.\-]\+\).*/\1/g' load)
- export VERSION="${IMAGENAME/c8-docker-base-8.x./}"
# Start privileged container in detached mode and interactive to avoid default CMD bash to exit container
- docker run -d -t --privileged --name cern_test_docker "${CI_REGISTRY_IMAGE}:${VERSION}"
# Run cern tests
- docker exec -i -e "IMAGECI_PWD"="${IMAGECI_PWD}" -e "IMAGECI_USER"="${IMAGECI_USER}" cern_test_docker bash < cerncentostests.sh
artifacts:
paths:
- "load"
expire_in: 1 month
tag_latest:
stage: tag_docker
Loading