mirror of https://github.com/msberends/AMR.git
160 lines
8.2 KiB
YAML
160 lines
8.2 KiB
YAML
# ==================================================================== #
|
|
# TITLE #
|
|
# AMR: An R Package for Working with Antimicrobial Resistance Data #
|
|
# #
|
|
# SOURCE #
|
|
# https://github.com/msberends/AMR #
|
|
# #
|
|
# CITE AS #
|
|
# Berends MS, Luz CF, Friedrich AW, Sinha BNM, Albers CJ, Glasner C #
|
|
# (2022). AMR: An R Package for Working with Antimicrobial Resistance #
|
|
# Data. Journal of Statistical Software, 104(3), 1-31. #
|
|
# doi:10.18637/jss.v104.i03 #
|
|
# #
|
|
# Developed at the University of Groningen and the University Medical #
|
|
# Center Groningen in The Netherlands, in collaboration with many #
|
|
# colleagues from around the world, see our website. #
|
|
# #
|
|
# 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:
|
|
# run after a git push on any branch in this repo
|
|
branches: '**'
|
|
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: check-old
|
|
|
|
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 old versions of R >= 3.0, we support them all!
|
|
# (for R-release and R-devel, see check-current.yaml)
|
|
- {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: ubuntu-22.04, r: '4.1', allowfail: false, rspm: "https://packagemanager.rstudio.com/cran/__linux__/jammy/latest"}
|
|
- {os: ubuntu-22.04, r: '4.0', allowfail: false, rspm: "https://packagemanager.rstudio.com/cran/__linux__/jammy/latest"}
|
|
- {os: ubuntu-22.04, r: '3.6', allowfail: false, rspm: "https://packagemanager.rstudio.com/cran/__linux__/jammy/latest"}
|
|
# R 3.5 returns a strange GC error when running examples, omit the checks for that
|
|
- {os: ubuntu-22.04, r: '3.4', allowfail: false, rspm: "https://packagemanager.rstudio.com/cran/__linux__/jammy/latest"}
|
|
- {os: ubuntu-22.04, r: '3.3', allowfail: false, rspm: "https://packagemanager.rstudio.com/cran/__linux__/jammy/latest"}
|
|
- {os: ubuntu-22.04, r: '3.2', allowfail: false, rspm: "https://packagemanager.rstudio.com/cran/__linux__/jammy/latest"}
|
|
- {os: ubuntu-22.04, r: '3.1', allowfail: false, rspm: "https://packagemanager.rstudio.com/cran/__linux__/jammy/latest"}
|
|
- {os: ubuntu-22.04, r: '3.0', allowfail: false, rspm: "https://packagemanager.rstudio.com/cran/__linux__/jammy/latest"}
|
|
- {os: windows-latest, r: '4.1', allowfail: false}
|
|
- {os: windows-latest, r: '4.0', allowfail: false}
|
|
- {os: windows-latest, r: '3.6', allowfail: false}
|
|
env:
|
|
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
|
|
RSPM: ${{ matrix.config.rspm }}
|
|
R_REPOSITORIES: "https://cran.rstudio.com"
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- uses: r-lib/actions/setup-r@v2
|
|
with:
|
|
r-version: ${{ matrix.config.r }}
|
|
|
|
- uses: r-lib/actions/setup-pandoc@v2
|
|
|
|
- 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,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 libcurl4-openssl-dev
|
|
|
|
- name: Restore cached R packages
|
|
# this step will add the step 'Post Restore cached R packages' on a succesful run
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ${{ env.R_LIBS_USER }}
|
|
key: ${{ matrix.config.os }}-r-${{ matrix.config.r }}-v5
|
|
|
|
- name: Install R dependencies
|
|
if: always()
|
|
run: |
|
|
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' || matrix.config.r == '3.3'
|
|
# writing to DESCRIPTION2 and then moving to DESCRIPTION is required for R <= 3.3 as writeLines() cannot overwrite
|
|
run: |
|
|
rm -rf vignettes
|
|
Rscript -e "writeLines(readLines('DESCRIPTION')[!grepl('VignetteBuilder', readLines('DESCRIPTION'))], 'DESCRIPTION2')"
|
|
rm DESCRIPTION
|
|
mv DESCRIPTION2 DESCRIPTION
|
|
shell: bash
|
|
|
|
- name: Run R CMD check
|
|
if: always()
|
|
env:
|
|
# see https://rstudio.github.io/r-manuals/r-ints/Tools.html for an overview
|
|
_R_CHECK_CRAN_INCOMING_: false
|
|
_R_CHECK_DEPENDS_ONLY_: true
|
|
_R_CHECK_LENGTH_1_CONDITION_: verbose
|
|
_R_CHECK_LENGTH_1_LOGIC2_: verbose
|
|
# no check for old R versions - these packages require higher R versions
|
|
_R_CHECK_RD_XREFS_: ${{ matrix.config.r != '3.0' && matrix.config.r != '3.1' && matrix.config.r != '3.2' && matrix.config.r != '3.3' && matrix.config.r != '3.4' }}
|
|
_R_CHECK_FORCE_SUGGESTS_: false
|
|
R_CHECK_CONSTANTS: 5
|
|
R_JIT_STRATEGY: 3
|
|
# during 'R CMD check', R_LIBS_USER will be overwritten, so:
|
|
R_LIBS_USER_GH_ACTIONS: ${{ env.R_LIBS_USER }}
|
|
# this is a required value to run the unit tests:
|
|
R_RUN_TINYTEST: true
|
|
run: |
|
|
cd ..
|
|
R CMD build AMR
|
|
R CMD check --as-cran --no-manual --run-donttest --run-dontrun AMR_*.tar.gz
|
|
shell: bash
|
|
|
|
- name: Show unit tests output
|
|
if: always()
|
|
run: |
|
|
cd ../AMR.Rcheck
|
|
find . -name 'tinytest.Rout*' -exec cat '{}' \; || true
|
|
shell: bash
|
|
|
|
- name: Upload artifacts
|
|
if: always()
|
|
continue-on-error: true
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: artifacts-${{ matrix.config.os }}-r${{ matrix.config.r }}
|
|
path: ${{ github.workspace }}.Rcheck
|