From 4801a6067e587869a1256e1f44fa1d4a931d4a9c Mon Sep 17 00:00:00 2001 From: Matthijs Berends Date: Fri, 6 Jan 2023 11:22:02 +0100 Subject: [PATCH] unit tests --- .github/workflows/check-old.yaml | 42 +++---------- .github/workflows/check-recent.yaml | 3 +- DESCRIPTION | 2 +- NEWS.md | 2 +- data-raw/_install_deps.R | 95 ----------------------------- 5 files changed, 13 insertions(+), 131 deletions(-) delete mode 100644 data-raw/_install_deps.R diff --git a/.github/workflows/check-old.yaml b/.github/workflows/check-old.yaml index 1773e16c..b4293492 100644 --- a/.github/workflows/check-old.yaml +++ b/.github/workflows/check-old.yaml @@ -47,11 +47,13 @@ jobs: matrix: config: # Test all old versions of R >= 3.0, we support them all! - # For recent R versions, see check-recent.yaml (r-lib supports the latest 5 major R versions) - - {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"} + # For these old versions, dependencies will not be installed and checked. + # For recent R versions, see check-recent.yaml (r-lib and tidyverse support the latest 5 major R versions). + - {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"} env: R_REMOTES_NO_ERRORS_FROM_WARNINGS: true @@ -67,26 +69,10 @@ jobs: - 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 + - name: Install tinytest 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 + install.packages("tinytest") + shell: Rscript {0} - name: Show session info if: always() @@ -135,11 +121,3 @@ jobs: 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 diff --git a/.github/workflows/check-recent.yaml b/.github/workflows/check-recent.yaml index 5c811576..48d6c23e 100644 --- a/.github/workflows/check-recent.yaml +++ b/.github/workflows/check-recent.yaml @@ -66,8 +66,7 @@ jobs: - {os: ubuntu-latest, r: '4.1', allowfail: false} - {os: ubuntu-latest, r: '4.0', allowfail: false} - {os: ubuntu-latest, r: '3.6', allowfail: false} - - {os: ubuntu-latest, r: '3.5', allowfail: false} - - {os: ubuntu-latest, r: '3.4', allowfail: false} # when a new R releases, this one has to move to check-old.yaml + - {os: ubuntu-latest, r: '3.5', allowfail: false} # when a new R releases, this one has to move to check-old.yaml env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} diff --git a/DESCRIPTION b/DESCRIPTION index ec8f8b72..baf24f44 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,5 +1,5 @@ Package: AMR -Version: 1.8.2.9082 +Version: 1.8.2.9083 Date: 2023-01-06 Title: Antimicrobial Resistance Data Analysis Description: Functions to simplify and standardise antimicrobial resistance (AMR) diff --git a/NEWS.md b/NEWS.md index 3d32456c..37191378 100755 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# AMR 1.8.2.9082 +# AMR 1.8.2.9083 *(this beta version will eventually become v2.0! We're happy to reach a new major milestone soon!)* diff --git a/data-raw/_install_deps.R b/data-raw/_install_deps.R deleted file mode 100644 index a072140d..00000000 --- a/data-raw/_install_deps.R +++ /dev/null @@ -1,95 +0,0 @@ -# ==================================================================== # -# 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/ # -# ==================================================================== # - -# some old R instances have trouble installing tinytest, so we ship it too -install.packages("data-raw/tinytest_1.3.1.tar.gz", dependencies = c("Depends", "Imports", "LinkingTo")) -install.packages(getwd(), repos = NULL, type = "source") - -pkg_suggests <- gsub( - "[^a-zA-Z0-9.]+", "", - unlist(strsplit(unlist(packageDescription("AMR", - fields = c("Suggests", "Enhances", "LinkingTo") - )), - split = ", ?" - )) -) -pkg_suggests <- unname(pkg_suggests[!is.na(pkg_suggests)]) -cat("################################################\n") -cat("Packages listed in Suggests/Enhances:", paste(pkg_suggests, collapse = ", "), "\n") -cat("################################################\n") - -if (.Platform$OS.type != "unix") { - # no compiling on Windows here - options(install.packages.compile.from.source = FALSE) -} - -to_install <- pkg_suggests[!pkg_suggests %in% rownames(utils::installed.packages())] -if (length(to_install) == 0) { - message("\nNothing to install\n") -} -for (i in seq_len(length(to_install))) { - cat("Installing package", to_install[i], "\n") - tryCatch(install.packages(to_install[i], - type = "source", - repos = "https://cran.rstudio.com/", - dependencies = c("Depends", "Imports", "LinkingTo"), - quiet = FALSE - ), - # message = function(m) invisible(), - warning = function(w) message(w$message), - error = function(e) message(e$message) - ) - if (.Platform$OS.type != "unix" && !to_install[i] %in% rownames(utils::installed.packages())) { - tryCatch(install.packages(to_install[i], - type = "binary", - repos = "https://cran.rstudio.com/", - dependencies = c("Depends", "Imports", "LinkingTo"), - quiet = FALSE - ), - # message = function(m) invisible(), - warning = function(w) message(w$message), - error = function(e) message(e$message) - ) - } -} - -to_update <- as.data.frame(utils::old.packages(repos = "https://cran.rstudio.com/"), stringsAsFactors = FALSE) -to_update <- to_update[which(to_update$Package %in% pkg_suggests), "Package", drop = TRUE] -if (length(to_update) == 0) { - message("\nNothing to update\n") -} -for (i in seq_len(length(to_update))) { - cat("Updating package '", to_update[i], "' v", as.character(packageVersion(to_update[i])), "\n", sep = "") - tryCatch(update.packages(to_update[i], repos = "https://cran.rstudio.com/", ask = FALSE), - # message = function(m) invisible(), - warning = function(w) message(w$message), - error = function(e) message(e$message) - ) - cat("Updated to '", to_update[i], "' v", as.character(packageVersion(to_update[i])), "\n", sep = "") -}