# ==================================================================== # # 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, 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: # 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-release 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 released versions of R >= 3.0, we support them all! - {os: macOS-latest, r: '4.2', allowfail: false} - {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.2', allowfail: false, rspm: "https://packagemanager.rstudio.com/cran/__linux__/jammy/latest"} - {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"} - {os: ubuntu-22.04, r: '3.5', allowfail: true, rspm: "https://packagemanager.rstudio.com/cran/__linux__/jammy/latest"} - {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.2', allowfail: false} - {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 }}-v4 - 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() uses: actions/upload-artifact@v2 with: name: artifacts-${{ matrix.config.os }}-r${{ matrix.config.r }} path: ${GITHUB_WORKSPACE}.Rcheck