stages: - build_test - packages - build_img - deploy r-build_test: stage: build_test tags: - "r-base-biosp" script: - "Rscript -e \"pkgbuild::compile_dll()\"" - "Rscript -e \"roxygen2::roxygenize('.', roclets=c('rd', 'collate', 'namespace'))\"" - "R CMD build . --resave-data" - "R CMD check --as-cran $(ls -rt landsepiDev_* |tail -1)" artifacts: paths: - "$(ls -rt landsepiDev_*.tar.gz |tail -1)" r-devel-build_test: stage: build_test tags: - "r-devel-biosp" script: - "Rscript -e \"pkgbuild::compile_dll()\"" - "Rscript -e \"roxygen2::roxygenize('.', roclets=c('rd', 'collate', 'namespace'))\"" - "R CMD build . --resave-data" - "R CMD check --as-cran $(ls -rt landsepiDev_* |tail -1)" artifacts: paths: - "$(ls -rt landsepiDev_*.tar.gz |tail -1)" rules: allow_failure: true r-Mac-build_test: stage: build_test tags: - "Mac" - "R" script: - 'TMPDIR="/tmp" && Rscript -e "pkgbuild::compile_dll()"' - "Rscript -e \"roxygen2::roxygenize('.', roclets=c('rd', 'collate', 'namespace'))\"" - "R CMD build . --resave-data" - "R CMD check --as-cran $(ls -rt landsepiDev_* |tail -1)" artifacts: paths: - "$(ls -rt landsepiDev_*.tar.gz |tail -1)" r-windows-build_test: stage: build_test tags: - "win10" - "R" - "binaries" script: - "Rscript -e \"pkgbuild::compile_dll()\"" - "Rscript -e \"roxygen2::roxygenize('.', roclets=c('rd', 'collate', 'namespace'))\"" - "R CMD build . --resave-data" - "R CMD check --as-cran $(ls -rt landsepiDev_* |tail -1)" artifacts: paths: - "$(ls -rt landsepiDev_*.tar.gz |tail -1)" release-r: stage: packages tags: - "r-base-biosp" script: - "echo \"Nothing to do\"" artifacts: paths: - "$(ls -rt landsepiDev_* |tail -1)" rules: - if: $CI_COMMIT_TAG != "" dependencies: - r-build_test release-win: stage: packages tags: - "win10" - "R" - "binaries" script: - "R CMD INSTALL --build --force-biarch $(ls -rt landsepiDev_*.tar.gz |tail -1)" artifacts: paths: - "$(ls -rt landsepiDev_*.zip |tail -1)" rules: - if: $CI_COMMIT_TAG != "" dependencies: - r-windows-build_test release-Mac: stage: packages tags: - "Mac" - "R" script: - "R CMD INSTALL --build $(ls -rt landsepiDev_*.tar.gz |tail -1)" artifacts: paths: - "$(ls -rt landsepiDev_*.tgz | tail -1)" rules: - if: $CI_COMMIT_TAG != "" dependencies: - r-Mac-build_test buildDocker: tags: - "dind" - "docker" variables: DOCKER_TLS_CERTDIR: "" DOCKER_HOST: tcp://docker:2375/ DOCKER_DRIVER: overlay2 services: - docker:19.03.0-dind before_script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY stage: build_img script: - docker pull $CI_REGISTRY_IMAGE:latest || true - docker build --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA --tag $CI_REGISTRY_IMAGE:latest -f inst/shiny-landsepi/Dockerfile . - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA - docker push $CI_REGISTRY_IMAGE:latest after_script: - docker logout $CI_REGISTRY rules: - if: $CI_COMMIT_BRANCH == "master" deploy: image: debian stage: deploy environment: name: shinyproxy url: https://shiny.biosp.inra.fr/ rules: - if: $CI_COMMIT_BRANCH == "master" before_script: - apt-get update && apt-get install -y sshpass openssh-client - export SSHPASS=$DEPLOY_PWD script: - sshpass -e ssh -o StrictHostKeyChecking=no $DEPLOY_USER@$DEPLOY_IP "./launch.sh $CI_REGISTRY_USER $CI_REGISTRY_PASSWORD $CI_REGISTRY_IMAGE latest"