diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1f33424ff87e696dabd628c1594f66aa89f63a5e..42e7907b8d802faa6a4fc20d89ce1c677a85e6df 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -23,6 +23,7 @@ variables: CI_REGISTRY_IMAGE_BASE: $CI_REGISTRY/caosdb/src/caosdb-pyinttest/base:latest stages: + - info - setup - cert - style @@ -78,10 +79,44 @@ stages: # file-system features. # +.env: &env + - echo "Pipeline triggered by $TRIGGERED_BY_REPO@$TRIGGERED_BY_REF ($TRIGGERED_BY_HASH)" + - echo "CI_REGISTRY_IMAGE_BASE = $CI_REGISTRY_IMAGE_BASE" + - echo "CI_REGISTRY_IMAGE = $CI_REGISTRY_IMAGE" + - echo "CAOSDB_TAG = $CAOSDB_TAG" + - echo "REFTAG = $REFTAG" + - echo "F_BRANCH = $F_BRANCH" + - echo "CI_COMMIT_REF_NAME = $CI_COMMIT_REF_NAME" + - ls -lah /image-cache/ + + - F_BRANCH=${F_BRANCH:-$CI_COMMIT_REF_NAME} + - echo $F_BRANCH + - if [[ "$REFTAG" == "" ]] ; then + if [[ "$F_BRANCH" == "dev" ]] ; then + REFTAG=dev; + fi; + fi + - REFTAG=${REFTAG:-dev_F_${F_BRANCH}} + + - echo $F_BRANCH + + - if [[ "$CAOSDB_TAG" == "" ]]; then + CAOSDB_TAG=${REFTAG}; + fi + - echo $CAOSDB_TAG + +info: + tags: [cached-dind] + image: docker:20.10 + stage: info + needs: [] + script: + - *env + 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 @@ -91,42 +126,10 @@ test: image: $CI_REGISTRY_IMAGE_BASE needs: ["cert"] script: - - ls / - - echo $F_BRANCH - - echo $CAOSDB_TAG - - echo $CI_COMMIT_REF_NAME - - F_BRANCH=${F_BRANCH:-$CI_COMMIT_REF_NAME} - - echo $F_BRANCH - - echo $CAOSDB_TAG - - echo $CI_COMMIT_REF_NAME - - if echo "$F_BRANCH" | grep -c "^f-.*$"; then - REFTAG="${REFTAG}_F_${F_BRANCH}"; - elif [ "$F_BRANCH" == "main" ]; then - F_BRANCH=main; - else - F_BRANCH=dev; - fi - - echo $F_BRANCH - - echo $CI_COMMIT_REF_NAME - - echo $CI_REGISTRY_IMAGE - + - *env - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - - time docker load < /image-cache/caosdb-${F_BRANCH}.tar || true - - DEPLOY_REF=dev - - if [[ "$CI_COMMIT_REF_NAME" == "main" ]] ; then - DEPLOY_REF=main; - fi - - echo $DEPLOY_REF - - if [[ "$CAOSDB_TAG" == "" ]]; then - if echo "$F_BRANCH" | grep -c "^f-" ; then - CAOSDB_TAG=${DEPLOY_REF}_F_${F_BRANCH}; - docker pull $CI_REGISTRY/caosdb/src/caosdb-deploy:$CAOSDB_TAG || CAOSDB_TAG=${DEPLOY_REF} ; - else - CAOSDB_TAG=${DEPLOY_REF}; - fi; - fi - - echo $CAOSDB_TAG - - docker pull $CI_REGISTRY/caosdb/src/caosdb-deploy:$CAOSDB_TAG || CAOSDB_TAG=dev ; + - 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 - time docker load < /image-cache/caosdb-pyint-testenv-${CI_COMMIT_REF_NAME}.tar || true @@ -169,7 +172,7 @@ test: build-testenv: tags: [cached-dind] - image: docker:19.03 + image: docker:20.10 stage: setup timeout: 2h only: