mirror of https://github.com/msberends/AMR
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
160 lines
8.2 KiB
160 lines
8.2 KiB
# ==================================================================== # |
|
# TITLE # |
|
# Antimicrobial Resistance (AMR) Data Analysis for R # |
|
# # |
|
# SOURCE # |
|
# https://github.com/msberends/AMR # |
|
# # |
|
# LICENCE # |
|
# (c) 2018-2021 Berends MS, Luz CF et al. # |
|
# Developed at the University of Groningen, the Netherlands, in # |
|
# collaboration with non-profit organisations Certe Medical # |
|
# Diagnostics & Advice, and University Medical Center Groningen. # |
|
# # |
|
# 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. # |
|
# 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. # |
|
# # |
|
# Visit our website for the full manual and a complete tutorial about # |
|
# how to conduct AMR data analysis: https://msberends.github.io/AMR/ # |
|
# ==================================================================== # |
|
|
|
on: |
|
push: |
|
branches: |
|
- development |
|
- main |
|
pull_request: |
|
branches: |
|
- main |
|
schedule: |
|
# run a schedule everyday at 1 AM. |
|
# this is to check that all dependencies are still available (see R/zzz.R) |
|
- cron: '0 1 * * *' |
|
|
|
name: R-code-check |
|
|
|
jobs: |
|
R-code-check: |
|
runs-on: ${{ matrix.config.os }} |
|
|
|
continue-on-error: ${{ matrix.config.allowfail }} |
|
|
|
name: ${{ matrix.config.os }} (R-${{ matrix.config.r }}) |
|
|
|
strategy: |
|
fail-fast: false |
|
matrix: |
|
config: |
|
# test all systems against all released versions of R >= 3.0, we support them all! |
|
- {os: macOS-latest, r: 'devel', allowfail: true} |
|
- {os: macOS-latest, r: '4.1', allowfail: false} |
|
- {os: macOS-latest, r: '4.0', allowfail: false} |
|
- {os: macOS-latest, r: '3.6', allowfail: false} |
|
- {os: macOS-latest, r: '3.5', allowfail: false} |
|
- {os: macOS-latest, r: '3.4', allowfail: false} |
|
- {os: macOS-latest, r: '3.3', allowfail: false} |
|
- {os: macOS-latest, r: '3.2', allowfail: false} |
|
- {os: ubuntu-20.04, r: 'devel', allowfail: true, rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"} |
|
- {os: ubuntu-20.04, r: '4.1', allowfail: false, rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"} |
|
- {os: ubuntu-20.04, r: '4.0', allowfail: false, rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"} |
|
- {os: ubuntu-20.04, r: '3.6', allowfail: false, rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"} |
|
- {os: ubuntu-20.04, r: '3.5', allowfail: false, rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"} |
|
- {os: ubuntu-20.04, r: '3.4', allowfail: false, rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"} |
|
- {os: ubuntu-20.04, r: '3.3', allowfail: false, rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"} |
|
- {os: ubuntu-20.04, r: '3.2', allowfail: false, rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"} |
|
- {os: ubuntu-20.04, r: '3.1', allowfail: false, rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"} |
|
- {os: ubuntu-20.04, r: '3.0', allowfail: false, rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"} |
|
- {os: windows-latest, r: 'devel', allowfail: true} |
|
- {os: windows-latest, r: '4.1', allowfail: false} |
|
- {os: windows-latest, r: '4.0', allowfail: false} |
|
- {os: windows-latest, r: '3.6', allowfail: false} |
|
- {os: windows-latest, r: '3.5', allowfail: false} |
|
- {os: windows-latest, r: '3.4', allowfail: false} |
|
- {os: windows-latest, r: '3.3', allowfail: false} |
|
- {os: windows-latest, r: '3.2', allowfail: false} |
|
env: |
|
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true |
|
RSPM: ${{ matrix.config.rspm }} |
|
R_REPOSITORIES: "https://cran.rstudio.com" |
|
|
|
steps: |
|
- uses: actions/checkout@v2 |
|
|
|
- uses: r-lib/actions/setup-r@v1 |
|
with: |
|
r-version: ${{ matrix.config.r }} |
|
|
|
- uses: r-lib/actions/setup-pandoc@v1 |
|
|
|
- name: Install Linux dependencies |
|
if: runner.os == 'Linux' |
|
# update the below with sysreqs::sysreqs("DESCRIPTION") and check the "DEB" entries (for Ubuntu). |
|
# we don't want to depend on the sysreqs pkg here, as it requires quite a recent R version |
|
# as of May 2021: https://sysreqs.r-hub.io/pkg/AMR,R,cleaner,curl,dplyr,ggplot2,ggtext,knitr,microbenchmark,pillar,readxl,rmarkdown,rstudioapi,rvest,skimr,tidyr,tinytest,xml2,backports,crayon,rlang,vctrs,evaluate,highr,markdown,stringr,yaml,xfun,cli,ellipsis,fansi,lifecycle,utf8,glue,mime,magrittr,stringi,generics,R6,tibble,tidyselect,pkgconfig,purrr,digest,gtable,isoband,MASS,mgcv,scales,withr,nlme,Matrix,farver,labeling,munsell,RColorBrewer,viridisLite,lattice,colorspace,gridtext,Rcpp,RCurl,png,jpeg,bitops,cellranger,progress,rematch,hms,prettyunits,htmltools,jsonlite,tinytex,base64enc,httr,selectr,openssl,askpass,sys,repr,cpp11 |
|
run: | |
|
sudo apt install -y libssl-dev libxml2-dev libicu-dev libcurl4-openssl-dev libpng-dev |
|
- name: Restore cached R packages |
|
# this step will add the step 'Post Restore cached R packages' on a succesful run |
|
if: runner.os != 'Windows' |
|
uses: actions/cache@v1 |
|
with: |
|
path: ${{ env.R_LIBS_USER }} |
|
key: ${{ matrix.config.os }}-r-${{ matrix.config.r }}-v4 |
|
|
|
- name: Unpack AMR and install R dependencies |
|
if: always() |
|
run: | |
|
tar -xf data-raw/AMR_latest.tar.gz |
|
Rscript -e "source('data-raw/_install_deps.R')" |
|
shell: bash |
|
|
|
- name: Show session info |
|
if: always() |
|
run: | |
|
options(width = 100) |
|
utils::sessionInfo() |
|
as.data.frame(utils::installed.packages())[, "Version", drop = FALSE] |
|
shell: Rscript {0} |
|
|
|
- name: Remove vignettes on R without knitr support |
|
if: matrix.config.r == '3.0' || matrix.config.r == '3.1' || matrix.config.r == '3.2' |
|
# writing to DESCRIPTION2 and then moving to DESCRIPTION is required for R < 3.3 as writeLines() cannot overwrite |
|
run: | |
|
rm -rf AMR/vignettes |
|
Rscript -e "writeLines(readLines('AMR/DESCRIPTION')[!grepl('VignetteBuilder', readLines('AMR/DESCRIPTION'))], 'AMR/DESCRIPTION2')" |
|
rm AMR/DESCRIPTION |
|
mv AMR/DESCRIPTION2 AMR/DESCRIPTION |
|
shell: bash |
|
|
|
- name: Run R CMD check |
|
if: always() |
|
env: |
|
_R_CHECK_CRAN_INCOMING_: false |
|
_R_CHECK_FORCE_SUGGESTS_: false |
|
_R_CHECK_DEPENDS_ONLY_: true |
|
_R_CHECK_LENGTH_1_CONDITION_: verbose |
|
_R_CHECK_LENGTH_1_LOGIC2_: verbose |
|
# during 'R CMD check', R_LIBS_USER will be overwritten, so: |
|
R_LIBS_USER_GH_ACTIONS: ${{ env.R_LIBS_USER }} |
|
R_RUN_TINYTEST: true |
|
run: | |
|
R CMD check --no-manual --run-donttest --run-dontrun AMR |
|
shell: bash |
|
|
|
- name: Show unit tests output |
|
if: always() |
|
run: | |
|
find . -name 'tinytest.Rout*' -exec cat '{}' \; || true |
|
shell: bash |
|
|
|
- name: Upload artifacts |
|
if: always() |
|
uses: actions/upload-artifact@v2 |
|
with: |
|
name: artifacts-${{ matrix.config.os }}-r${{ matrix.config.r }} |
|
path: AMR.Rcheck
|
|
|