diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 369576142f716feb3677c4f158a7ea0543f8d318..b52d6a75adbfe562176c3dd07fe8a3ea4011aa19 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -128,17 +128,22 @@ test: script: - *env - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - - time docker load < /image-cache/caosdb-${REFTAG}.tar || time docker load < /image-cache/caosdb-dev.tar || true - - docker pull $CI_REGISTRY/caosdb/src/caosdb-deploy:$CAOSDB_TAG || CAOSDB_TAG=dev - echo $CAOSDB_TAG + - cd .docker + # Store mariadb version + - MARIADBVERSION=$(grep mariadb docker-compose.yml | awk '{print $2}') + - echo "mariadb image:"$MARIADBVERSION - time docker load < /image-cache/caosdb-pyint-testenv-${CI_COMMIT_REF_NAME}.tar || true - - time docker load < /image-cache/mariadb.tar || true + - time docker load < /image-cache/caosdb-${REFTAG}.tar || time docker load < /image-cache/caosdb-dev.tar || true + - time docker load < /image-cache/$MARIADBVERSION.tar || true + - docker pull $CI_REGISTRY/caosdb/src/caosdb-deploy:$CAOSDB_TAG || CAOSDB_TAG=dev - docker pull $CI_REGISTRY_IMAGE - - cd .docker - # here the server and the mysql backend docker are being started + + # Here, the server and the mysql backend docker are being started - CAOSDB_TAG=$CAOSDB_TAG docker-compose up -d - # store versions of CaosDB parts + + # Store versions of CaosDB parts - 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 @@ -149,16 +154,26 @@ test: - cat hash_mysql - cat hash_webui - cat hash_pylib - # the pyinttest docker writes the return value of the tests into the - # file result + # Run the actual tests. This starts a new docker container within which + # the tests run. The return value is stored in .docker/result - /bin/sh ./run.sh + + # Save logs - docker logs docker_caosdb-server_1 &> ../caosdb_log.txt - docker logs docker_sqldb_1 &> ../mariadb_log.txt - cd .. + + # Stop the server - docker-compose -f .docker/docker-compose.yml down + + # Store mariadb image + - if [ ! -f "${MARIADBVERSION}.tar" ]; then + time docker save $MARIADBVERSION > /image-cache/$MARIADBVERSION.tar || true; + fi; + + # the pyinttest docker writes the return value of the tests into the + # file result - rc=`cat .docker/result` - - 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 - exit $rc dependencies: [cert] timeout: 3h