2018-12-30 08:40:40 +01:00
|
|
|
# ==================================================================== #
|
|
|
|
# TITLE #
|
|
|
|
# Antimicrobial Resistance (AMR) Analysis #
|
|
|
|
# #
|
2019-01-02 23:24:07 +01:00
|
|
|
# SOURCE #
|
|
|
|
# https://gitlab.com/msberends/AMR #
|
2018-12-30 08:40:40 +01:00
|
|
|
# #
|
|
|
|
# LICENCE #
|
2020-01-05 17:22:09 +01:00
|
|
|
# (c) 2018-2020 Berends MS, Luz CF et al. #
|
2018-12-30 08:40:40 +01:00
|
|
|
# #
|
2019-01-02 23:24:07 +01:00
|
|
|
# This R package is free software; you can freely use and distribute #
|
|
|
|
# it for both personal and commercial purposes under the terms of the #
|
|
|
|
# GNU General Public License version 2.0 (GNU GPL-2), as published by #
|
|
|
|
# the Free Software Foundation. #
|
|
|
|
# #
|
2020-01-05 17:22:09 +01:00
|
|
|
# We created this package for both routine data analysis and academic #
|
|
|
|
# research and it was publicly released in the hope that it will be #
|
|
|
|
# useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. #
|
2019-04-05 18:47:39 +02:00
|
|
|
# Visit our website for more info: https://msberends.gitlab.io/AMR. #
|
2018-12-30 08:40:40 +01:00
|
|
|
# ==================================================================== #
|
|
|
|
|
2019-10-11 19:16:49 +02:00
|
|
|
# to do a full CRAN check with R-Hub:
|
2020-04-29 14:33:44 +02:00
|
|
|
# chck <- rhub::check(devtools::build(), platform = rhub::platforms()[!is.na(rhub::platforms()$`cran-name`), 'name'])
|
2019-05-20 12:00:18 +02:00
|
|
|
|
2018-12-30 07:44:11 +01:00
|
|
|
stages:
|
2020-04-30 18:46:29 +02:00
|
|
|
- test
|
2019-11-06 16:08:58 +01:00
|
|
|
- check
|
2019-10-11 17:21:02 +02:00
|
|
|
- lint
|
2019-11-06 16:08:58 +01:00
|
|
|
- website
|
2020-04-29 14:33:44 +02:00
|
|
|
- coverage
|
2019-11-06 16:08:58 +01:00
|
|
|
|
2019-04-06 16:13:09 +02:00
|
|
|
image: rocker/r-base
|
2018-12-30 07:44:11 +01:00
|
|
|
|
2018-12-30 12:00:53 +01:00
|
|
|
before_script:
|
2019-07-09 20:26:42 +02:00
|
|
|
- apt-get update -qq --allow-releaseinfo-change
|
2019-01-05 09:50:22 +01:00
|
|
|
# install dependencies for packages
|
2019-03-29 14:34:39 +01:00
|
|
|
- apt-get install -y wget locales libxml2-dev libssl-dev libcurl4-openssl-dev zlib1g-dev > /dev/null
|
2019-02-10 08:42:28 +01:00
|
|
|
# recent pandoc
|
2020-04-29 14:33:44 +02:00
|
|
|
- wget --quiet https://github.com/jgm/pandoc/releases/download/2.9.2.1/pandoc-2.9.2.1-1-amd64.deb
|
2019-02-10 08:42:28 +01:00
|
|
|
- dpkg -i pandoc*.deb
|
|
|
|
- rm pandoc*.deb
|
2019-01-05 15:14:38 +01:00
|
|
|
# set R system language
|
|
|
|
- echo "LC_ALL=en_US.UTF-8" >> /etc/environment
|
|
|
|
- echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
|
|
|
|
- echo "LANG=en_US.UTF-8" > /etc/locale.conf
|
2019-01-05 20:39:20 +01:00
|
|
|
- locale-gen
|
2019-01-05 09:50:22 +01:00
|
|
|
# cache R packages
|
|
|
|
- mkdir -p installed_deps
|
|
|
|
- echo 'R_LIBS="installed_deps"' > .Renviron
|
|
|
|
- echo 'R_LIBS_USER="installed_deps"' >> .Renviron
|
|
|
|
- echo 'R_LIBS_SITE="installed_deps"' >> .Renviron
|
2019-01-05 22:18:49 +01:00
|
|
|
# set language
|
2019-01-05 21:08:56 +01:00
|
|
|
- echo 'LANGUAGE="en_US.utf8"' >> .Renviron
|
2019-01-05 22:18:49 +01:00
|
|
|
- echo 'LANG="en_US.utf8"' >> .Renviron
|
2019-01-05 21:40:04 +01:00
|
|
|
- echo 'LANGUAGE="en_US.utf8"' > ~/.Renviron
|
2018-12-30 08:40:40 +01:00
|
|
|
|
2020-05-16 13:05:47 +02:00
|
|
|
# ---- TEST
|
|
|
|
|
2020-05-22 20:15:19 +02:00
|
|
|
R-release_test:
|
2020-04-30 18:46:29 +02:00
|
|
|
stage: test
|
|
|
|
when: always
|
|
|
|
allow_failure: false
|
|
|
|
script:
|
|
|
|
- Rscript -e 'sessionInfo()'
|
|
|
|
# install missing and outdated packages
|
|
|
|
- Rscript -e 'source(".gitlab-ci.R"); gl_update_pkg_all(repos = "https://cran.rstudio.com", quiet = TRUE, install_pkgdown = TRUE, install_lintr = TRUE)'
|
|
|
|
- Rscript -e 'devtools::test(stop_on_failure = FALSE)'
|
|
|
|
cache:
|
2020-05-01 09:14:32 +02:00
|
|
|
key: release
|
2020-04-30 18:46:29 +02:00
|
|
|
paths:
|
|
|
|
- installed_deps/
|
|
|
|
|
2020-05-22 20:15:19 +02:00
|
|
|
R-devel_test:
|
2020-05-16 13:05:47 +02:00
|
|
|
stage: test
|
|
|
|
when: always
|
|
|
|
image: rocker/r-devel
|
|
|
|
allow_failure: false
|
|
|
|
script:
|
|
|
|
- Rscriptdevel -e 'sessionInfo()'
|
|
|
|
# install missing and outdated packages
|
|
|
|
- Rscriptdevel -e 'source(".gitlab-ci.R"); gl_update_pkg_all(repos = "https://cran.rstudio.com", quiet = TRUE, install_pkgdown = TRUE, install_lintr = TRUE)'
|
|
|
|
- Rscriptdevel -e 'devtools::test(stop_on_failure = FALSE)'
|
|
|
|
cache:
|
|
|
|
key: devel
|
|
|
|
paths:
|
|
|
|
- installed_deps/
|
|
|
|
|
|
|
|
# ---- CHECK
|
|
|
|
|
2019-03-29 14:34:39 +01:00
|
|
|
R-release:
|
2019-11-06 16:08:58 +01:00
|
|
|
stage: check
|
2020-04-30 18:46:29 +02:00
|
|
|
when: on_success
|
|
|
|
allow_failure: true
|
2018-12-30 07:44:11 +01:00
|
|
|
script:
|
2019-03-29 14:34:39 +01:00
|
|
|
- Rscript -e 'sessionInfo()'
|
|
|
|
# install missing and outdated packages
|
2019-10-11 19:16:49 +02:00
|
|
|
- Rscript -e 'source(".gitlab-ci.R"); gl_update_pkg_all(repos = "https://cran.rstudio.com", quiet = TRUE, install_pkgdown = TRUE, install_lintr = TRUE)'
|
2019-03-29 14:34:39 +01:00
|
|
|
# remove vignettes folder and get VignetteBuilder field out of DESCRIPTION file
|
|
|
|
- rm -rf vignettes
|
|
|
|
- Rscript -e 'd <- read.dcf("DESCRIPTION"); d[, colnames(d) == "VignetteBuilder"] <- NA; write.dcf(d, "DESCRIPTION")'
|
|
|
|
# build package
|
|
|
|
- R CMD build . --no-build-vignettes --no-manual
|
|
|
|
- PKG_FILE_NAME=$(ls -1t *.tar.gz | head -n 1)
|
2019-11-06 16:08:58 +01:00
|
|
|
- Rscript -e 'Sys.setenv(NOT_CRAN = "true")'
|
2019-03-29 14:34:39 +01:00
|
|
|
- R CMD check "${PKG_FILE_NAME}" --no-build-vignettes --no-manual --as-cran
|
|
|
|
artifacts:
|
2019-04-06 16:50:59 +02:00
|
|
|
when: always
|
2019-03-29 14:34:39 +01:00
|
|
|
paths:
|
|
|
|
- '*.Rcheck/*'
|
|
|
|
expire_in: '1 month'
|
2019-04-07 10:27:46 +02:00
|
|
|
cache:
|
2020-05-01 09:14:32 +02:00
|
|
|
key: release
|
2019-04-07 10:27:46 +02:00
|
|
|
paths:
|
|
|
|
- installed_deps/
|
2019-03-29 14:34:39 +01:00
|
|
|
|
|
|
|
R-devel:
|
2019-11-06 16:08:58 +01:00
|
|
|
stage: check
|
2020-04-30 18:46:29 +02:00
|
|
|
when: on_success
|
2019-03-29 14:51:55 +01:00
|
|
|
image: rocker/r-devel
|
2020-03-08 15:31:57 +01:00
|
|
|
allow_failure: true
|
2019-03-29 14:34:39 +01:00
|
|
|
script:
|
2019-03-29 21:45:46 +01:00
|
|
|
- Rscriptdevel -e 'sessionInfo()'
|
2019-03-29 14:34:39 +01:00
|
|
|
# install missing and outdated packages
|
2019-10-11 19:16:49 +02:00
|
|
|
- Rscriptdevel -e 'source(".gitlab-ci.R"); gl_update_pkg_all(repos = "https://cran.rstudio.com", quiet = TRUE)'
|
2018-12-30 12:00:53 +01:00
|
|
|
# remove vignettes folder and get VignetteBuilder field out of DESCRIPTION file
|
2019-01-05 21:51:48 +01:00
|
|
|
- rm -rf vignettes
|
2019-03-29 21:45:46 +01:00
|
|
|
- Rscriptdevel -e 'd <- read.dcf("DESCRIPTION"); d[, colnames(d) == "VignetteBuilder"] <- NA; write.dcf(d, "DESCRIPTION")'
|
2018-12-30 12:00:53 +01:00
|
|
|
# build package
|
2019-03-29 21:45:46 +01:00
|
|
|
- Rdevel CMD build . --no-build-vignettes --no-manual
|
2018-12-30 12:00:53 +01:00
|
|
|
- PKG_FILE_NAME=$(ls -1t *.tar.gz | head -n 1)
|
2019-11-06 16:08:58 +01:00
|
|
|
- Rscript -e 'Sys.setenv(NOT_CRAN = "true")'
|
2019-03-29 21:45:46 +01:00
|
|
|
- Rdevel CMD check "${PKG_FILE_NAME}" --no-build-vignettes --no-manual --as-cran
|
2018-12-30 12:00:53 +01:00
|
|
|
artifacts:
|
2019-04-06 16:50:59 +02:00
|
|
|
when: always
|
2018-12-30 12:00:53 +01:00
|
|
|
paths:
|
2019-01-02 23:24:07 +01:00
|
|
|
- '*.Rcheck/*'
|
2018-12-30 12:00:53 +01:00
|
|
|
expire_in: '1 month'
|
2019-05-16 21:20:00 +02:00
|
|
|
cache:
|
2020-05-01 09:14:32 +02:00
|
|
|
key: devel
|
2019-05-16 21:20:00 +02:00
|
|
|
paths:
|
|
|
|
- installed_deps/
|
2020-05-16 13:05:47 +02:00
|
|
|
|
|
|
|
# ---- OTHER
|
2018-12-24 12:12:05 +01:00
|
|
|
|
2019-11-06 16:08:58 +01:00
|
|
|
lintr:
|
|
|
|
stage: lint
|
|
|
|
allow_failure: true
|
2020-04-30 18:46:29 +02:00
|
|
|
when: always
|
2019-11-06 16:08:58 +01:00
|
|
|
only:
|
|
|
|
- premaster
|
|
|
|
- master
|
|
|
|
script:
|
|
|
|
# check all syntax with lintr
|
2020-05-18 13:59:34 +02:00
|
|
|
- Rscript -e 'lintr::lint_package(exclusions = list("R/aa_helper_functions_dplyr.R"))'
|
2020-05-01 09:14:32 +02:00
|
|
|
cache:
|
|
|
|
key: release
|
|
|
|
paths:
|
|
|
|
- installed_deps/
|
|
|
|
policy: pull # no uploading after run
|
2019-11-06 16:08:58 +01:00
|
|
|
|
2020-04-29 14:33:44 +02:00
|
|
|
pages:
|
|
|
|
stage: website
|
2020-04-30 18:46:29 +02:00
|
|
|
allow_failure: true
|
2020-04-29 14:33:44 +02:00
|
|
|
when: always
|
|
|
|
only:
|
|
|
|
- master
|
|
|
|
script:
|
|
|
|
- mv docs public
|
|
|
|
artifacts:
|
|
|
|
paths:
|
|
|
|
- public
|
|
|
|
|
2019-11-06 16:08:58 +01:00
|
|
|
codecovr:
|
|
|
|
stage: coverage
|
2019-01-02 23:24:07 +01:00
|
|
|
allow_failure: true
|
2020-04-30 18:46:29 +02:00
|
|
|
when: always
|
2019-01-02 23:24:07 +01:00
|
|
|
only:
|
2019-03-01 09:34:04 +01:00
|
|
|
- premaster
|
2019-01-02 23:24:07 +01:00
|
|
|
- master
|
|
|
|
script:
|
2019-04-07 10:27:46 +02:00
|
|
|
- apt-get install --yes git
|
|
|
|
# codecov token is set in https://gitlab.com/msberends/AMR/settings/ci_cd
|
2019-11-05 21:52:58 +01:00
|
|
|
# Sys.setenv(NOT_CRAN = 'true'), because otherwise skip_on_cran() will be applied on Covr too, resulting in extremely low coverage percentages
|
|
|
|
- Rscript -e "Sys.setenv(NOT_CRAN = 'true'); cc <- covr::package_coverage(line_exclusions = list('R/atc_online.R', 'R/mo_history.R', 'R/mo_source.R', 'R/resistance_predict.R')); covr::codecov(coverage = cc, token = '$codecov'); cat('Code coverage:', covr::percent_coverage(cc))"
|
2019-01-02 23:24:07 +01:00
|
|
|
coverage: '/Code coverage: \d+\.\d+/'
|
2020-05-01 09:14:32 +02:00
|
|
|
cache:
|
|
|
|
key: release
|
|
|
|
paths:
|
|
|
|
- installed_deps/
|
|
|
|
policy: pull # no uploading after run
|