image: docker services: - docker: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 rules: - if: $CI_COMMIT_BRANCH == "master" changes: - r-ver/latest.Dockerfile build-version: stage: build script: - docker build --pull -t $CI_REGISTRY_IMAGE:4.0.3 -f r-ver/4.0.3.Dockerfile . - docker push $CI_REGISTRY_IMAGE:4.0.3 rules: - if: $CI_COMMIT_BRANCH == "freeze-version" changes: - r-ver/4.0.3.Dockerfile trigger-latest-build-foreign: 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 rules: - if: $CI_COMMIT_BRANCH == "master" && $R_VERSION_UPDATE != "true" changes: - r-ver/latest.Dockerfile trigger-latest-build: stage: deploy before_script: - apk add --update curl - rm -rf /var/cache/apk/* script: - curl -X POST -F token=$ROCKER_RSTUDIO -F ref=master https://gitlab.b-data.ch/api/v4/projects/185/trigger/pipeline rules: - if: $CI_COMMIT_BRANCH == "master" changes: - r-ver/latest.Dockerfile trigger-version-build: stage: deploy before_script: - apk add --update curl - rm -rf /var/cache/apk/* script: - curl -X POST -F token=$ROCKER_RSTUDIO -F ref=freeze-version https://gitlab.b-data.ch/api/v4/projects/185/trigger/pipeline rules: - if: $CI_COMMIT_BRANCH == "freeze-version" changes: - r-ver/4.0.3.Dockerfile