image: docker:stable services: - docker:stable-dind variables: DOCKER_DRIVER: overlay2 DOCKER_TLS_CERTDIR: "/certs" CRAN: https://cloud.r-project.org R_VERSION_UPDATE: "false" before_script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - export VERSION_MAJ_MIN_PAT=`sed -n "s|.*R_VERSION:-\([0-9]\.[0-9]\.[0-9]\).*|\1|p" r-ver/latest.Dockerfile` - export VERSION_MAJ_MIN=`echo "${VERSION_MAJ_MIN_PAT:0:3}"` - export VERSION_MAJ=`echo "${VERSION_MAJ_MIN_PAT:0:1}"` build-latest: stage: build script: - docker build --build-arg CRAN=$CRAN --pull -t $CI_REGISTRY_IMAGE:latest -f r-ver/latest.Dockerfile . - docker tag $CI_REGISTRY_IMAGE:latest $CI_REGISTRY_IMAGE:$VERSION_MAJ_MIN_PAT - docker tag $CI_REGISTRY_IMAGE:latest $CI_REGISTRY_IMAGE:$VERSION_MAJ_MIN - docker tag $CI_REGISTRY_IMAGE:latest $CI_REGISTRY_IMAGE:$VERSION_MAJ - docker push $CI_REGISTRY_IMAGE:latest - docker push $CI_REGISTRY_IMAGE:$VERSION_MAJ_MIN_PAT - docker push $CI_REGISTRY_IMAGE:$VERSION_MAJ_MIN - docker push $CI_REGISTRY_IMAGE:$VERSION_MAJ only: refs: - master changes: - r-ver/latest.Dockerfile build-version: stage: build script: - docker build --pull -t $CI_REGISTRY_IMAGE:3.6.2 -f r-ver/3.6.2.Dockerfile . - docker push $CI_REGISTRY_IMAGE:3.6.2 only: refs: - freeze-version changes: - r-ver/3.6.2.Dockerfile trigger-latest-build: stage: deploy before_script: - apk add --update curl - rm -rf /var/cache/apk/* script: - curl -X POST -F token=$R_TIDYVERSE -F ref=master https://gitlab.b-data.ch/api/v4/projects/173/trigger/pipeline - curl -X POST -F token=$R_PLUMBER -F ref=master https://gitlab.b-data.ch/api/v4/projects/176/trigger/pipeline only: refs: - master changes: - r-ver/latest.Dockerfile except: variables: - $R_VERSION_UPDATE == "true"