mirror of https://github.com/msberends/AMR.git
107 lines
4.9 KiB
YAML
107 lines
4.9 KiB
YAML
# from https://stackoverflow.com/questions/51866926
|
|
# and https://github.com/jangorecki/r.gitlab.ci
|
|
# and https://docs.gitlab.com/ce/ci/yaml/README.html
|
|
|
|
# how the Docker+R images work: https://hub.docker.com/r/rocker/r-ver/
|
|
|
|
stages:
|
|
- build
|
|
- deploy
|
|
|
|
R 3:
|
|
image: rocker/r-ver:3 # rocker/r-base
|
|
stage: build
|
|
allow_failure: true
|
|
script:
|
|
- apt-get update
|
|
# install dependencies for package
|
|
- apt-get install --yes --no-install-recommends libxml2-dev libssl-dev libcurl4-openssl-dev zlib1g-dev
|
|
- R -e 'install.packages(c("devtools", "rlang"))'
|
|
- R -e 'devtools::install_deps(dependencies = c("Depends", "Imports", "Suggests"), repos = "https://cran.rstudio.com")'
|
|
- R -e 'print(as.data.frame(installed.packages(), row.names = FALSE)[, c("Package", "Version")])'
|
|
# remove vignettes folder and get VignetteBuilder field out of DESCRIPTION file
|
|
- rm -rf vignettes
|
|
- R -e 'd <- read.dcf("DESCRIPTION"); d[, colnames(d) == "VignetteBuilder"] <- NA; write.dcf(d, "DESCRIPTION")'
|
|
- R CMD build . --no-build-vignettes --no-manual
|
|
- PKG_FILE_NAME=$(ls -1t *.tar.gz | head -n 1)
|
|
- R CMD check "${PKG_FILE_NAME}" --no-build-vignettes --no-manual --as-cran
|
|
|
|
R 3.4:
|
|
image: rocker/r-ver:3.4 # rocker/r-base
|
|
stage: build
|
|
script:
|
|
- apt-get update
|
|
# install dependencies for package
|
|
- apt-get install --yes --no-install-recommends libxml2-dev libssl-dev libcurl4-openssl-dev zlib1g-dev
|
|
- R -e 'install.packages("devtools")'
|
|
- R -e 'devtools::install_deps(dependencies = c("Depends", "Imports", "Suggests"))'
|
|
- R -e 'print(as.data.frame(installed.packages(), row.names = FALSE)[, c("Package", "Version")])'
|
|
# remove vignettes folder and get VignetteBuilder field out of DESCRIPTION file
|
|
- rm -rf vignettes
|
|
- R -e 'd <- read.dcf("DESCRIPTION"); d[, colnames(d) == "VignetteBuilder"] <- NA; write.dcf(d, "DESCRIPTION")'
|
|
- R CMD build . --no-build-vignettes --no-manual
|
|
- PKG_FILE_NAME=$(ls -1t *.tar.gz | head -n 1)
|
|
- R CMD check "${PKG_FILE_NAME}" --no-build-vignettes --no-manual --as-cran
|
|
|
|
R 3.5:
|
|
image: rocker/r-ver:3.5 # rocker/r-base
|
|
stage: build
|
|
script:
|
|
- apt-get update
|
|
# install dependencies for package
|
|
- apt-get install --yes --no-install-recommends libxml2-dev libssl-dev libcurl4-openssl-dev zlib1g-dev
|
|
- R -e 'install.packages("devtools")'
|
|
- R -e 'devtools::install_deps(dependencies = c("Depends", "Imports", "Suggests"))'
|
|
- R -e 'print(as.data.frame(installed.packages(), row.names = FALSE)[, c("Package", "Version")])'
|
|
# remove vignettes folder and get VignetteBuilder field out of DESCRIPTION file
|
|
- rm -rf vignettes
|
|
- R -e 'd <- read.dcf("DESCRIPTION"); d[, colnames(d) == "VignetteBuilder"] <- NA; write.dcf(d, "DESCRIPTION")'
|
|
- R CMD build . --no-build-vignettes --no-manual
|
|
- PKG_FILE_NAME=$(ls -1t *.tar.gz | head -n 1)
|
|
- R CMD check "${PKG_FILE_NAME}" --no-build-vignettes --no-manual --as-cran
|
|
|
|
R latest:
|
|
image: rocker/r-ver:latest # rocker/r-base
|
|
stage: build
|
|
allow_failure: true
|
|
script:
|
|
- apt-get update
|
|
# install dependencies for package
|
|
- apt-get install --yes --no-install-recommends libxml2-dev libssl-dev libcurl4-openssl-dev zlib1g-dev
|
|
- R -e 'install.packages("devtools")'
|
|
- R -e 'devtools::install_deps(dependencies = c("Depends", "Imports", "Suggests"))'
|
|
- R -e 'print(as.data.frame(installed.packages(), row.names = FALSE)[, c("Package", "Version")])'
|
|
# remove vignettes folder and get VignetteBuilder field out of DESCRIPTION file
|
|
- rm -rf vignettes
|
|
- R -e 'd <- read.dcf("DESCRIPTION"); d[, colnames(d) == "VignetteBuilder"] <- NA; write.dcf(d, "DESCRIPTION")'
|
|
- R CMD build . --no-build-vignettes --no-manual
|
|
- PKG_FILE_NAME=$(ls -1t *.tar.gz | head -n 1)
|
|
- R CMD check "${PKG_FILE_NAME}" --no-build-vignettes --no-manual --as-cran
|
|
|
|
|
|
R devel:
|
|
image: rocker/r-ver:devel # rocker/r-base
|
|
stage: build
|
|
allow_failure: true
|
|
script:
|
|
- apt-get update
|
|
# install dependencies for package
|
|
- apt-get install --yes --no-install-recommends libxml2-dev libssl-dev libcurl4-openssl-dev zlib1g-dev
|
|
- R -e 'install.packages("devtools")'
|
|
- R -e 'devtools::install_deps(dependencies = c("Depends", "Imports", "Suggests"))'
|
|
- R -e 'print(as.data.frame(installed.packages(), row.names = FALSE)[, c("Package", "Version")])'
|
|
# remove vignettes folder and get VignetteBuilder field out of DESCRIPTION file
|
|
- rm -rf vignettes
|
|
- R -e 'd <- read.dcf("DESCRIPTION"); d[, colnames(d) == "VignetteBuilder"] <- NA; write.dcf(d, "DESCRIPTION")'
|
|
- R CMD build . --no-build-vignettes --no-manual
|
|
- PKG_FILE_NAME=$(ls -1t *.tar.gz | head -n 1)
|
|
- R CMD check "${PKG_FILE_NAME}" --no-build-vignettes --no-manual --as-cran
|
|
|
|
coverage_job:
|
|
stage: deploy
|
|
script:
|
|
# update code coverage
|
|
- apt-get install --yes git
|
|
- R -e "covr::codecov(token = '50ffa0aa-fee0-4f8b-a11d-8c7edc6d32ca')"
|
|
when: on_success
|