Skip to content
Snippets Groups Projects
Verified Commit 8b6d7979 authored by Timm Fitschen's avatar Timm Fitschen
Browse files

PIPELINE

parent 44718b20
No related branches found
No related tags found
No related merge requests found
Pipeline #25649 failed
......@@ -48,27 +48,28 @@ stages:
- build
- test
.env: &env
- echo "Pipeline triggered by $TRIGGERED_BY_REPO@$TRIGGERED_BY_REF ($TRIGGERED_BY_HASH)"
- echo "CPPLIB_REGISTRY_IMAGE = $CPPLIB_REGISTRY_IMAGE"
- echo "CI_REGISTRY_IMAGE_BASE = $CI_REGISTRY_IMAGE_BASE"
- echo "CPPINTTEST_REGISTRY_IMAGE = $CPPINTTEST_REGISTRY_IMAGE"
- echo "CPPINTTEST_IMAGE_CACHE = $CPPINTTEST_IMAGE_CACHE"
- echo "CAOSDB_TAG = $CAOSDB_TAG"
- echo "F_BRANCH = $F_BRANCH"
info:
tags: [cached-dind]
image: docker:20.10
stage: info
needs: []
script:
- echo "Pipeline triggered by $TRIGGERED_BY_REPO@$TRIGGERED_BY_REF ($TRIGGERED_BY_HASH)"
- echo "CPPLIB_REGISTRY_IMAGE = $CPPLIB_REGISTRY_IMAGE"
- echo "CI_REGISTRY_IMAGE_BASE = $CI_REGISTRY_IMAGE_BASE"
- echo "CPPINTTEST_REGISTRY_IMAGE = $CPPINTTEST_REGISTRY_IMAGE"
- echo "CPPINTTEST_IMAGE_CACHE = $CPPINTTEST_IMAGE_CACHE"
- echo "CAOSDB_TAG = $CAOSDB_TAG"
- echo "REFTAG = $REFTAG"
- echo "F_BRANCH = $F_BRANCH"
- ls -lah /image-cache/
- *env
# Build a docker image in which tests for this repository can run
build-testenv: &build-testenv
tags: [cached-dind]
image: docker:20.10.6
image: docker:20.10
stage: setup
timeout: 2h
needs: []
......@@ -77,10 +78,11 @@ build-testenv: &build-testenv
- schedules
- web
script:
- *env
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
#build testenv image
- docker pull $CPPLIB_REGISTRY_IMAGE || true # remove??? docker build --pull???
- docker pull $CPPLIB_REGISTRY_IMAGE || { CPPLIB_REGISTRY_IMAGE="$CI_REGISTRY/caosdb/src/caosdb-cpplib/testenv:dev" ; docker pull $CPPLIB_REGISTRY_IMAGE ; }
- docker build
--build-arg CPPLIB_REGISTRY_IMAGE=$CPPLIB_REGISTRY_IMAGE
--file .docker/Dockerfile
......@@ -108,7 +110,7 @@ build-test:
test:
tags: [docker]
services:
- docker:20.10.3-dind
- docker:20.10-dind
variables:
# This is a workaround for the gitlab-runner health check mechanism when
# using docker-dind service. The runner will otherwise guess the port
......@@ -121,15 +123,13 @@ test:
artifacts: true
- job: build-test
script:
- echo $PWD
- F_BRANCH="${F_BRANCH:-$CI_COMMIT_REF_NAME}" ;
- echo "F_BRANCH = $F_BRANCH"
- echo "CAOSDB_TAG = $CAOSDB_TAG"
- echo "DEPLOY_REF = $DEPLOY_REF"
- ls -la
- *env
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- time docker load < /image-cache/caosdb-${CAOSDB_TAG}.tar || time docker load < /image-cache/caosdb-dev.tar || true
- docker pull $CI_REGISTRY/caosdb/src/caosdb-deploy:$CAOSDB_TAG || CAOSDB_TAG=dev
- F_BRANCH=${F_BRANCH:-$CI_COMMIT_REF_NAME}
- echo "F_BRANCH = $F_BRANCH"
- if [ -z "$CAOSDB_TAG" ]; then
if echo "$F_BRANCH" | grep -c "^f-" ; then
CAOSDB_TAG=${DEPLOY_REF}_F_${F_BRANCH};
......@@ -142,28 +142,28 @@ test:
CAOSDB_TAG="${DEFAULT_CAOSDB_TAG}" ;
fi;
fi
- echo "F_BRANCH = $F_BRANCH"
- echo "CAOSDB_TAG = $CAOSDB_TAG"
- echo "DEPLOY_REF = $DEPLOY_REF"
- docker load < /image-cache/caosdb-${F_BRANCH}.tar || true
- docker pull $CI_REGISTRY/caosdb/src/caosdb-deploy:$CAOSDB_TAG || CAOSDB_TAG="${DEFAULT_CAOSDB_TAG}" ;
- echo "CAOSDB_TAG = $CAOSDB_TAG"
- docker load < /image-cache/${CPPINTTEST_IMAGE_CACHE} || true
- docker pull $CPPINTTEST_REGISTRY_IMAGE
- docker load < /image-cache/mariadb.tar || true
# load any(!!!) mariab image
- cd .docker
- ls -la
- ls -la cert
# here the server and the mysql backend docker are being started
- CAOSDB_TAG=$CAOSDB_TAG docker-compose up -d
# store versions of CaosDB parts
- docker exec -u 0 -t docker_caosdb-server_1 cat /opt/caosdb/git/caosdb_server_commit | tee hash_server
- docker exec -u 0 -t docker_caosdb-server_1 cat /opt/caosdb/git/caosdb_mysqlbackend_commit | tee hash_mysql
- docker exec -u 0 -t docker_caosdb-server_1 cat /opt/caosdb/git/caosdb_proto_commit | tee hash_proto
- docker exec -u 0 -t docker_caosdb-server_1 cat /opt/caosdb/git/caosdb_pylib_commit > hash_pylib
- docker exec -u 0 -t docker_caosdb-server_1 cat /opt/caosdb/git/caosdb_webui_commit > hash_webui
- docker exec -u 0 -t docker_caosdb-server_1 cat /opt/caosdb/git/caosdb_server_commit > hash_server
- docker exec -u 0 -t docker_caosdb-server_1 cat /opt/caosdb/git/caosdb_mysqlbackend_commit > hash_mysql
- docker exec -u 0 -t docker_caosdb-server_1 cat /opt/caosdb/git/caosdb_proto_commit > hash_proto
- cat hash_server
- cat hash_proto
- cat hash_mysql
- cat hash_webui
- cat hash_pylib
# the pyinttest docker writes the return value of the tests into the
# file result
......@@ -179,7 +179,6 @@ test:
# collect results
- rc=`cat result`
# renew mariadb image in the cache (why? to renew the timestamp???)
- echo mariadb:$(docker image ls mariadb | grep mariadb | awk '{print $2}')
- docker save mariadb:$(docker image ls mariadb | grep mariadb | awk '{print $2}') > /image-cache/mariadb.tar || true
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment