From 8462cb3cabdf05dca6efedf8b3ef7458d73cd5e0 Mon Sep 17 00:00:00 2001 From: Laurent Gatto Date: Wed, 19 Jul 2023 15:54:24 +0200 Subject: [PATCH 01/17] no warnings when loading SE --- episodes/60-next-steps.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/episodes/60-next-steps.Rmd b/episodes/60-next-steps.Rmd index 8c5e1936f..89511b1ab 100644 --- a/episodes/60-next-steps.Rmd +++ b/episodes/60-next-steps.Rmd @@ -171,7 +171,7 @@ We will create a `SummarizedExperiment` from these tables: To do this we can put the different parts together using the `SummarizedExperiment` constructor: -```{r, message=FALSE} +```{r, message=FALSE, warning=FALSE} ## BiocManager::install("SummarizedExperiment") library("SummarizedExperiment") ``` From 126388a56c6279b7602725716a0550c36af5ae81 Mon Sep 17 00:00:00 2001 From: "Zhian N. Kamvar" Date: Tue, 5 Sep 2023 07:32:58 -0700 Subject: [PATCH 02/17] update 34 packages --- renv/activate.R | 407 ++++++++++++++------ renv/profiles/lesson-requirements/renv.lock | 253 ++++++------ 2 files changed, 397 insertions(+), 263 deletions(-) diff --git a/renv/activate.R b/renv/activate.R index a8fdc3201..2969c7324 100644 --- a/renv/activate.R +++ b/renv/activate.R @@ -2,11 +2,27 @@ local({ # the requested version of renv - version <- "0.17.3" + version <- "1.0.2" + attr(version, "sha") <- NULL # the project directory project <- getwd() + # use start-up diagnostics if enabled + diagnostics <- Sys.getenv("RENV_STARTUP_DIAGNOSTICS", unset = "FALSE") + if (diagnostics) { + start <- Sys.time() + profile <- tempfile("renv-startup-", fileext = ".Rprof") + utils::Rprof(profile) + on.exit({ + utils::Rprof(NULL) + elapsed <- signif(difftime(Sys.time(), start, units = "auto"), digits = 2L) + writeLines(sprintf("- renv took %s to run the autoloader.", format(elapsed))) + writeLines(sprintf("- Profile: %s", profile)) + print(utils::summaryRprof(profile)) + }, add = TRUE) + } + # figure out whether the autoloader is enabled enabled <- local({ @@ -60,25 +76,75 @@ local({ # load bootstrap tools `%||%` <- function(x, y) { - if (is.environment(x) || length(x)) x else y + if (is.null(x)) y else x } - `%??%` <- function(x, y) { - if (is.null(x)) y else x + catf <- function(fmt, ..., appendLF = TRUE) { + + quiet <- getOption("renv.bootstrap.quiet", default = FALSE) + if (quiet) + return(invisible()) + + msg <- sprintf(fmt, ...) + cat(msg, file = stdout(), sep = if (appendLF) "\n" else "") + + invisible(msg) + + } + + header <- function(label, + ..., + prefix = "#", + suffix = "-", + n = min(getOption("width"), 78)) + { + label <- sprintf(label, ...) + n <- max(n - nchar(label) - nchar(prefix) - 2L, 8L) + if (n <= 0) + return(paste(prefix, label)) + + tail <- paste(rep.int(suffix, n), collapse = "") + paste0(prefix, " ", label, " ", tail) + + } + + startswith <- function(string, prefix) { + substring(string, 1, nchar(prefix)) == prefix } bootstrap <- function(version, library) { + friendly <- renv_bootstrap_version_friendly(version) + section <- header(sprintf("Bootstrapping renv %s", friendly)) + catf(section) + # attempt to download renv - tarball <- tryCatch(renv_bootstrap_download(version), error = identity) - if (inherits(tarball, "error")) - stop("failed to download renv ", version) + catf("- Downloading renv ... ", appendLF = FALSE) + withCallingHandlers( + tarball <- renv_bootstrap_download(version), + error = function(err) { + catf("FAILED") + stop("failed to download:\n", conditionMessage(err)) + } + ) + catf("OK") + on.exit(unlink(tarball), add = TRUE) # now attempt to install - status <- tryCatch(renv_bootstrap_install(version, tarball, library), error = identity) - if (inherits(status, "error")) - stop("failed to install renv ", version) + catf("- Installing renv ... ", appendLF = FALSE) + withCallingHandlers( + status <- renv_bootstrap_install(version, tarball, library), + error = function(err) { + catf("FAILED") + stop("failed to install:\n", conditionMessage(err)) + } + ) + catf("OK") + # add empty line to break up bootstrapping from normal output + catf("") + + return(invisible()) } renv_bootstrap_tests_running <- function() { @@ -108,13 +174,6 @@ local({ if (!inherits(repos, "error") && length(repos)) return(repos) - # if we're testing, re-use the test repositories - if (renv_bootstrap_tests_running()) { - repos <- getOption("renv.tests.repos") - if (!is.null(repos)) - return(repos) - } - # retrieve current repos repos <- getOption("repos") @@ -158,33 +217,34 @@ local({ renv_bootstrap_download <- function(version) { - # if the renv version number has 4 components, assume it must - # be retrieved via github - nv <- numeric_version(version) - components <- unclass(nv)[[1]] - - # if this appears to be a development version of 'renv', we'll - # try to restore from github - dev <- length(components) == 4L - - # begin collecting different methods for finding renv - methods <- c( - renv_bootstrap_download_tarball, - if (dev) - renv_bootstrap_download_github - else c( - renv_bootstrap_download_cran_latest, - renv_bootstrap_download_cran_archive + sha <- attr(version, "sha", exact = TRUE) + + methods <- if (!is.null(sha)) { + + # attempting to bootstrap a development version of renv + c( + function() renv_bootstrap_download_tarball(sha), + function() renv_bootstrap_download_github(sha) ) - ) + + } else { + + # attempting to bootstrap a release version of renv + c( + function() renv_bootstrap_download_tarball(version), + function() renv_bootstrap_download_cran_latest(version), + function() renv_bootstrap_download_cran_archive(version) + ) + + } for (method in methods) { - path <- tryCatch(method(version), error = identity) + path <- tryCatch(method(), error = identity) if (is.character(path) && file.exists(path)) return(path) } - stop("failed to download renv ", version) + stop("All download methods failed") } @@ -248,8 +308,6 @@ local({ type <- spec$type repos <- spec$repos - message("* Downloading renv ", version, " ... ", appendLF = FALSE) - baseurl <- utils::contrib.url(repos = repos, type = type) ext <- if (identical(type, "source")) ".tar.gz" @@ -266,13 +324,10 @@ local({ condition = identity ) - if (inherits(status, "condition")) { - message("FAILED") + if (inherits(status, "condition")) return(FALSE) - } # report success and return - message("OK (downloaded ", type, ")") destfile } @@ -329,8 +384,6 @@ local({ urls <- file.path(repos, "src/contrib/Archive/renv", name) destfile <- file.path(tempdir(), name) - message("* Downloading renv ", version, " ... ", appendLF = FALSE) - for (url in urls) { status <- tryCatch( @@ -338,14 +391,11 @@ local({ condition = identity ) - if (identical(status, 0L)) { - message("OK") + if (identical(status, 0L)) return(destfile) - } } - message("FAILED") return(FALSE) } @@ -368,7 +418,7 @@ local({ if (!file.exists(tarball)) { # let the user know we weren't able to honour their request - fmt <- "* RENV_BOOTSTRAP_TARBALL is set (%s) but does not exist." + fmt <- "- RENV_BOOTSTRAP_TARBALL is set (%s) but does not exist." msg <- sprintf(fmt, tarball) warning(msg) @@ -377,10 +427,7 @@ local({ } - fmt <- "* Bootstrapping with tarball at path '%s'." - msg <- sprintf(fmt, tarball) - message(msg) - + catf("- Using local tarball '%s'.", tarball) tarball } @@ -407,8 +454,6 @@ local({ on.exit(do.call(base::options, saved), add = TRUE) } - message("* Downloading renv ", version, " from GitHub ... ", appendLF = FALSE) - url <- file.path("https://api.github.com/repos/rstudio/renv/tarball", version) name <- sprintf("renv_%s.tar.gz", version) destfile <- file.path(tempdir(), name) @@ -418,26 +463,105 @@ local({ condition = identity ) - if (!identical(status, 0L)) { - message("FAILED") + if (!identical(status, 0L)) return(FALSE) - } - message("OK") + renv_bootstrap_download_augment(destfile) + return(destfile) } + # Add Sha to DESCRIPTION. This is stop gap until #890, after which we + # can use renv::install() to fully capture metadata. + renv_bootstrap_download_augment <- function(destfile) { + sha <- renv_bootstrap_git_extract_sha1_tar(destfile) + if (is.null(sha)) { + return() + } + + # Untar + tempdir <- tempfile("renv-github-") + on.exit(unlink(tempdir, recursive = TRUE), add = TRUE) + untar(destfile, exdir = tempdir) + pkgdir <- dir(tempdir, full.names = TRUE)[[1]] + + # Modify description + desc_path <- file.path(pkgdir, "DESCRIPTION") + desc_lines <- readLines(desc_path) + remotes_fields <- c( + "RemoteType: github", + "RemoteHost: api.github.com", + "RemoteRepo: renv", + "RemoteUsername: rstudio", + "RemotePkgRef: rstudio/renv", + paste("RemoteRef: ", sha), + paste("RemoteSha: ", sha) + ) + writeLines(c(desc_lines[desc_lines != ""], remotes_fields), con = desc_path) + + # Re-tar + local({ + old <- setwd(tempdir) + on.exit(setwd(old), add = TRUE) + + tar(destfile, compression = "gzip") + }) + invisible() + } + + # Extract the commit hash from a git archive. Git archives include the SHA1 + # hash as the comment field of the tarball pax extended header + # (see https://www.kernel.org/pub/software/scm/git/docs/git-archive.html) + # For GitHub archives this should be the first header after the default one + # (512 byte) header. + renv_bootstrap_git_extract_sha1_tar <- function(bundle) { + + # open the bundle for reading + # We use gzcon for everything because (from ?gzcon) + # > Reading from a connection which does not supply a 'gzip' magic + # > header is equivalent to reading from the original connection + conn <- gzcon(file(bundle, open = "rb", raw = TRUE)) + on.exit(close(conn)) + + # The default pax header is 512 bytes long and the first pax extended header + # with the comment should be 51 bytes long + # `52 comment=` (11 chars) + 40 byte SHA1 hash + len <- 0x200 + 0x33 + res <- rawToChar(readBin(conn, "raw", n = len)[0x201:len]) + + if (grepl("^52 comment=", res)) { + sub("52 comment=", "", res) + } else { + NULL + } + } + renv_bootstrap_install <- function(version, tarball, library) { # attempt to install it into project library - message("* Installing renv ", version, " ... ", appendLF = FALSE) dir.create(library, showWarnings = FALSE, recursive = TRUE) + output <- renv_bootstrap_install_impl(library, tarball) + + # check for successful install + status <- attr(output, "status") + if (is.null(status) || identical(status, 0L)) + return(status) + + # an error occurred; report it + header <- "installation of renv failed" + lines <- paste(rep.int("=", nchar(header)), collapse = "") + text <- paste(c(header, lines, output), collapse = "\n") + stop(text) + + } + + renv_bootstrap_install_impl <- function(library, tarball) { # invoke using system2 so we can capture and report output bin <- R.home("bin") exe <- if (Sys.info()[["sysname"]] == "Windows") "R.exe" else "R" - r <- file.path(bin, exe) + R <- file.path(bin, exe) args <- c( "--vanilla", "CMD", "INSTALL", "--no-multiarch", @@ -445,19 +569,7 @@ local({ shQuote(path.expand(tarball)) ) - output <- system2(r, args, stdout = TRUE, stderr = TRUE) - message("Done!") - - # check for successful install - status <- attr(output, "status") - if (is.numeric(status) && !identical(status, 0L)) { - header <- "Error installing renv:" - lines <- paste(rep.int("=", nchar(header)), collapse = "") - text <- c(header, lines, output) - writeLines(text, con = stderr()) - } - - status + system2(R, args, stdout = TRUE, stderr = TRUE) } @@ -667,34 +779,62 @@ local({ } - renv_bootstrap_validate_version <- function(version) { + renv_bootstrap_validate_version <- function(version, description = NULL) { - loadedversion <- utils::packageDescription("renv", fields = "Version") - if (version == loadedversion) - return(TRUE) + # resolve description file + # + # avoid passing lib.loc to `packageDescription()` below, since R will + # use the loaded version of the package by default anyhow. note that + # this function should only be called after 'renv' is loaded + # https://github.com/rstudio/renv/issues/1625 + description <- description %||% packageDescription("renv") - # assume four-component versions are from GitHub; - # three-component versions are from CRAN - components <- strsplit(loadedversion, "[.-]")[[1]] - remote <- if (length(components) == 4L) - paste("rstudio/renv", loadedversion, sep = "@") + # check whether requested version 'version' matches loaded version of renv + sha <- attr(version, "sha", exact = TRUE) + valid <- if (!is.null(sha)) + renv_bootstrap_validate_version_dev(sha, description) else - paste("renv", loadedversion, sep = "@") + renv_bootstrap_validate_version_release(version, description) + + if (valid) + return(TRUE) + + # the loaded version of renv doesn't match the requested version; + # give the user instructions on how to proceed + remote <- if (!is.null(description[["RemoteSha"]])) { + paste("rstudio/renv", description[["RemoteSha"]], sep = "@") + } else { + paste("renv", description[["Version"]], sep = "@") + } + + # display both loaded version + sha if available + friendly <- renv_bootstrap_version_friendly( + version = description[["Version"]], + sha = description[["RemoteSha"]] + ) fmt <- paste( "renv %1$s was loaded from project library, but this project is configured to use renv %2$s.", - "Use `renv::record(\"%3$s\")` to record renv %1$s in the lockfile.", - "Use `renv::restore(packages = \"renv\")` to install renv %2$s into the project library.", + "- Use `renv::record(\"%3$s\")` to record renv %1$s in the lockfile.", + "- Use `renv::restore(packages = \"renv\")` to install renv %2$s into the project library.", sep = "\n" ) - - msg <- sprintf(fmt, loadedversion, version, remote) - warning(msg, call. = FALSE) + catf(fmt, friendly, renv_bootstrap_version_friendly(version), remote) FALSE } + renv_bootstrap_validate_version_dev <- function(version, description) { + expected <- description[["RemoteSha"]] + is.character(expected) && startswith(expected, version) + } + + renv_bootstrap_validate_version_release <- function(version, description) { + expected <- description[["Version"]] + is.character(expected) && identical(expected, version) + } + renv_bootstrap_hash_text <- function(text) { hashfile <- tempfile("renv-hash-") @@ -718,7 +858,7 @@ local({ hooks <- getHook("renv::autoload") for (hook in hooks) if (is.function(hook)) - tryCatch(hook(), error = warning) + tryCatch(hook(), error = warnify) # load the project renv::load(project) @@ -859,6 +999,53 @@ local({ } + renv_bootstrap_version_friendly <- function(version, shafmt = NULL, sha = NULL) { + sha <- sha %||% attr(version, "sha", exact = TRUE) + parts <- c(version, sprintf(shafmt %||% " [sha: %s]", substring(sha, 1L, 7L))) + paste(parts, collapse = "") + } + + renv_bootstrap_exec <- function(project, libpath, version) { + if (!renv_bootstrap_load(project, libpath, version)) + renv_bootstrap_run(version, libpath) + } + + renv_bootstrap_run <- function(version, libpath) { + + # perform bootstrap + bootstrap(version, libpath) + + # exit early if we're just testing bootstrap + if (!is.na(Sys.getenv("RENV_BOOTSTRAP_INSTALL_ONLY", unset = NA))) + return(TRUE) + + # try again to load + if (requireNamespace("renv", lib.loc = libpath, quietly = TRUE)) { + return(renv::load(project = getwd())) + } + + # failed to download or load renv; warn the user + msg <- c( + "Failed to find an renv installation: the project will not be loaded.", + "Use `renv::activate()` to re-initialize the project." + ) + + warning(paste(msg, collapse = "\n"), call. = FALSE) + + } + + + renv_bootstrap_in_rstudio <- function() { + commandArgs()[[1]] == "RStudio" + } + + # Used to work around buglet in RStudio if hook uses readline + renv_bootstrap_flush_console <- function() { + tryCatch({ + tools <- as.environment("tools:rstudio") + tools$.rs.api.sendToConsole("", echo = FALSE, focus = FALSE) + }, error = function(cnd) {}) + } renv_json_read <- function(file = NULL, text = NULL) { @@ -998,35 +1185,17 @@ local({ # construct full libpath libpath <- file.path(root, prefix) - # attempt to load - if (renv_bootstrap_load(project, libpath, version)) - return(TRUE) - - # load failed; inform user we're about to bootstrap - prefix <- paste("# Bootstrapping renv", version) - postfix <- paste(rep.int("-", 77L - nchar(prefix)), collapse = "") - header <- paste(prefix, postfix) - message(header) - - # perform bootstrap - bootstrap(version, libpath) - - # exit early if we're just testing bootstrap - if (!is.na(Sys.getenv("RENV_BOOTSTRAP_INSTALL_ONLY", unset = NA))) - return(TRUE) - - # try again to load - if (requireNamespace("renv", lib.loc = libpath, quietly = TRUE)) { - message("* Successfully installed and loaded renv ", version, ".") - return(renv::load()) + if (renv_bootstrap_in_rstudio()) { + # RStudio only updates console once .Rprofile is finished, so + # instead run code on sessionInit + setHook("rstudio.sessionInit", function(...) { + renv_bootstrap_exec(project, libpath, version) + renv_bootstrap_flush_console() + }) + } else { + renv_bootstrap_exec(project, libpath, version) } - # failed to download or load renv; warn the user - msg <- c( - "Failed to find an renv installation: the project will not be loaded.", - "Use `renv::activate()` to re-initialize the project." - ) - - warning(paste(msg, collapse = "\n"), call. = FALSE) + invisible() }) diff --git a/renv/profiles/lesson-requirements/renv.lock b/renv/profiles/lesson-requirements/renv.lock index 07a27494d..66961fc92 100644 --- a/renv/profiles/lesson-requirements/renv.lock +++ b/renv/profiles/lesson-requirements/renv.lock @@ -44,10 +44,6 @@ "Package": "Biobase", "Version": "2.60.0", "Source": "Bioconductor", - "git_url": "https://git.bioconductor.org/packages/Biobase", - "git_branch": "RELEASE_3_17", - "git_last_commit": "8dc10d2", - "git_last_commit_date": "2023-04-25", "Requirements": [ "BiocGenerics", "R", @@ -60,10 +56,6 @@ "Package": "BiocGenerics", "Version": "0.46.0", "Source": "Bioconductor", - "git_url": "https://git.bioconductor.org/packages/BiocGenerics", - "git_branch": "RELEASE_3_17", - "git_last_commit": "a90f0c5", - "git_last_commit_date": "2023-04-25", "Requirements": [ "R", "graphics", @@ -75,13 +67,22 @@ }, "BiocManager": { "Package": "BiocManager", - "Version": "1.30.21", + "Version": "1.30.22", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "utils" ], - "Hash": "be203e7eea75514bc1a41c1de39a9bb9" + "Hash": "d57e43105a1aa9cb54fdb4629725acb1" + }, + "BiocVersion": { + "Package": "BiocVersion", + "Version": "3.17.1", + "Source": "Bioconductor", + "Requirements": [ + "R" + ], + "Hash": "f7c0d5521799b7b0d0a211143ed0bfcb" }, "DBI": { "Package": "DBI", @@ -96,12 +97,8 @@ }, "DelayedArray": { "Package": "DelayedArray", - "Version": "0.26.6", + "Version": "0.26.7", "Source": "Bioconductor", - "git_url": "https://git.bioconductor.org/packages/DelayedArray", - "git_branch": "RELEASE_3_17", - "git_last_commit": "00e36c7", - "git_last_commit_date": "2023-06-30", "Requirements": [ "BiocGenerics", "IRanges", @@ -114,16 +111,12 @@ "stats", "stats4" ], - "Hash": "0df7d9f448796a41bd9a2717f38ebdd7" + "Hash": "ef6ff3e15ce624118e6cf8151e58e38c" }, "GenomeInfoDb": { "Package": "GenomeInfoDb", - "Version": "1.36.1", + "Version": "1.36.2", "Source": "Bioconductor", - "git_url": "https://git.bioconductor.org/packages/GenomeInfoDb", - "git_branch": "RELEASE_3_17", - "git_last_commit": "df7f76e", - "git_last_commit_date": "2023-06-20", "Requirements": [ "BiocGenerics", "GenomeInfoDbData", @@ -136,7 +129,7 @@ "stats4", "utils" ], - "Hash": "9e991e821a6d09eee85442a902a8c048" + "Hash": "94cae1161cc7a68e9e28a2a4994beb72" }, "GenomeInfoDbData": { "Package": "GenomeInfoDbData", @@ -151,10 +144,6 @@ "Package": "GenomicRanges", "Version": "1.52.0", "Source": "Bioconductor", - "git_url": "https://git.bioconductor.org/packages/GenomicRanges", - "git_branch": "RELEASE_3_17", - "git_last_commit": "883f125", - "git_last_commit_date": "2023-04-25", "Requirements": [ "BiocGenerics", "GenomeInfoDb", @@ -173,10 +162,6 @@ "Package": "IRanges", "Version": "2.34.1", "Source": "Bioconductor", - "git_url": "https://git.bioconductor.org/packages/IRanges", - "git_branch": "RELEASE_3_17", - "git_last_commit": "ce72113", - "git_last_commit_date": "2023-06-21", "Requirements": [ "BiocGenerics", "R", @@ -205,11 +190,12 @@ }, "Matrix": { "Package": "Matrix", - "Version": "1.5-4.1", + "Version": "1.6-1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", + "grDevices", "graphics", "grid", "lattice", @@ -217,21 +203,17 @@ "stats", "utils" ], - "Hash": "38082d362d317745fb932e13956dccbb" + "Hash": "cb6855ac711958ca734b75e631b2035d" }, "MatrixGenerics": { "Package": "MatrixGenerics", - "Version": "1.12.2", + "Version": "1.12.3", "Source": "Bioconductor", - "git_url": "https://git.bioconductor.org/packages/MatrixGenerics", - "git_branch": "RELEASE_3_17", - "git_last_commit": "29f77e7", - "git_last_commit_date": "2023-06-09", "Requirements": [ "matrixStats", "methods" ], - "Hash": "62f2e21697e9aeed7bcb3f482ac25dd7" + "Hash": "10a6bd0dcabaeede87616e4465b6ac6f" }, "R6": { "Package": "R6", @@ -278,32 +260,25 @@ }, "S4Arrays": { "Package": "S4Arrays", - "Version": "1.0.4", + "Version": "1.0.6", "Source": "Bioconductor", - "git_url": "https://git.bioconductor.org/packages/S4Arrays", - "git_branch": "RELEASE_3_17", - "git_last_commit": "d8d6a3b", - "git_last_commit_date": "2023-05-12", "Requirements": [ "BiocGenerics", "IRanges", "Matrix", "R", "S4Vectors", + "abind", "crayon", "methods", "stats" ], - "Hash": "3be34103255923c2fbb4a98b4d7449b9" + "Hash": "2b40d107b4a6fbd3f0cc81214d0b2891" }, "S4Vectors": { "Package": "S4Vectors", "Version": "0.38.1", "Source": "Bioconductor", - "git_url": "https://git.bioconductor.org/packages/S4Vectors", - "git_branch": "RELEASE_3_17", - "git_last_commit": "17a9d8c", - "git_last_commit_date": "2023-05-01", "Requirements": [ "BiocGenerics", "R", @@ -318,10 +293,6 @@ "Package": "SummarizedExperiment", "Version": "1.30.2", "Source": "Bioconductor", - "git_url": "https://git.bioconductor.org/packages/SummarizedExperiment", - "git_branch": "RELEASE_3_17", - "git_last_commit": "5d6a020", - "git_last_commit_date": "2023-06-05", "Requirements": [ "Biobase", "BiocGenerics", @@ -345,10 +316,6 @@ "Package": "XVector", "Version": "0.40.0", "Source": "Bioconductor", - "git_url": "https://git.bioconductor.org/packages/XVector", - "git_branch": "RELEASE_3_17", - "git_last_commit": "875b4b4", - "git_last_commit_date": "2023-04-25", "Requirements": [ "BiocGenerics", "IRanges", @@ -361,15 +328,27 @@ ], "Hash": "cc3048ef590a16ff55a5e3149d5e060b" }, + "abind": { + "Package": "abind", + "Version": "1.4-5", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "methods", + "utils" + ], + "Hash": "4f57884290cc75ab22f4af9e9d4ca862" + }, "askpass": { "Package": "askpass", - "Version": "1.1", + "Version": "1.2.0", "Source": "Repository", - "Repository": "CRAN", + "Repository": "RSPM", "Requirements": [ "sys" ], - "Hash": "e8a22846fff485f0be3770c2da758713" + "Hash": "cad6cf7f1d5f6e906700b9d3e718c796" }, "backports": { "Package": "backports", @@ -457,7 +436,7 @@ }, "bslib": { "Package": "bslib", - "Version": "0.5.0", + "Version": "0.5.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -473,7 +452,7 @@ "rlang", "sass" ], - "Hash": "1b117970533deb6d4e992c1b34e9d905" + "Hash": "283015ddfbb9d7bf15ea9f0b5698f0d9" }, "cachem": { "Package": "cachem", @@ -561,10 +540,13 @@ }, "cpp11": { "Package": "cpp11", - "Version": "0.4.4", + "Version": "0.4.6", "Source": "Repository", "Repository": "CRAN", - "Hash": "3f7d8664d7324406cd10cd650ad85e5f" + "Requirements": [ + "R" + ], + "Hash": "707fae4bbf73697ec8d85f9d7076c061" }, "crayon": { "Package": "crayon", @@ -593,16 +575,13 @@ }, "curl": { "Package": "curl", - "Version": "5.0.1", + "Version": "5.0.2", "Source": "Repository", - "Repository": "https://carpentries.r-universe.dev", - "RemoteUrl": "https://github.com/jeroen/curl", - "RemoteRef": "v5.0.1", - "RemoteSha": "ffd6536ef3732b924e141afbc6d2fd5a85a58f18", + "Repository": "CRAN", "Requirements": [ "R" ], - "Hash": "2118af9cb164c8d2dddc7b89eaf732d9" + "Hash": "511bacbfa153a15251166b463b4da4f9" }, "data.table": { "Package": "data.table", @@ -656,9 +635,9 @@ }, "dplyr": { "Package": "dplyr", - "Version": "1.1.2", + "Version": "1.1.3", "Source": "Repository", - "Repository": "CRAN", + "Repository": "RSPM", "Requirements": [ "R", "R6", @@ -675,7 +654,7 @@ "utils", "vctrs" ], - "Hash": "dea6970ff715ca541c387de363ff405e" + "Hash": "e85ffbebaad5f70e1a2e2ef4302b4949" }, "dtplyr": { "Package": "dtplyr", @@ -746,7 +725,7 @@ }, "fontawesome": { "Package": "fontawesome", - "Version": "0.5.1", + "Version": "0.5.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -754,7 +733,7 @@ "htmltools", "rlang" ], - "Hash": "1e22b8cabbad1eae951a75e9f8b52378" + "Hash": "c2efdd5f0bcd1ea861c2d4e2a883a67d" }, "forcats": { "Package": "forcats", @@ -774,18 +753,18 @@ }, "fs": { "Package": "fs", - "Version": "1.6.2", + "Version": "1.6.3", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "methods" ], - "Hash": "94af08e0aa9675a16fadbb3aaaa90d2a" + "Hash": "47b5f30c720c23999b913a1a635cf0bb" }, "gargle": { "Package": "gargle", - "Version": "1.5.1", + "Version": "1.5.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -803,7 +782,7 @@ "utils", "withr" ], - "Hash": "d3a3cb2fefea5b3d4f8e0ea33c948406" + "Hash": "fc0b272e5847c58cd5da9b20eedbd026" }, "generics": { "Package": "generics", @@ -818,9 +797,9 @@ }, "ggplot2": { "Package": "ggplot2", - "Version": "3.4.2", + "Version": "3.4.3", "Source": "Repository", - "Repository": "CRAN", + "Repository": "RSPM", "Requirements": [ "MASS", "R", @@ -839,7 +818,7 @@ "vctrs", "withr" ], - "Hash": "3a147ee02e85a8941aad9909f1b43b7b" + "Hash": "85846544c596e71f8f46483ab165da33" }, "glue": { "Package": "glue", @@ -921,7 +900,7 @@ }, "gtable": { "Package": "gtable", - "Version": "0.3.3", + "Version": "0.3.4", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -932,7 +911,7 @@ "lifecycle", "rlang" ], - "Hash": "b44addadb528a0d227794121c00572a0" + "Hash": "b29cf3031f49b04ab9c852c912547eef" }, "haven": { "Package": "haven", @@ -999,9 +978,9 @@ }, "htmltools": { "Package": "htmltools", - "Version": "0.5.5", + "Version": "0.5.6", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "R", "base64enc", @@ -1012,7 +991,7 @@ "rlang", "utils" ], - "Hash": "ba0240784ad50a62165058a27459304a" + "Hash": "a2326a66919a3311f7fbb1e3bf568283" }, "htmlwidgets": { "Package": "htmlwidgets", @@ -1031,7 +1010,7 @@ }, "httr": { "Package": "httr", - "Version": "1.4.6", + "Version": "1.4.7", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1042,7 +1021,7 @@ "mime", "openssl" ], - "Hash": "7e5e3cbd2a7bc07880c94e22348fb661" + "Hash": "ac107251d9d9fd72f0ca8049988f1d7f" }, "ids": { "Package": "ids", @@ -1104,14 +1083,14 @@ }, "labeling": { "Package": "labeling", - "Version": "0.4.2", + "Version": "0.4.3", "Source": "Repository", - "Repository": "CRAN", + "Repository": "RSPM", "Requirements": [ "graphics", "stats" ], - "Hash": "3d5108641f47470611a32d0bdf357a72" + "Hash": "b64ec208ac5bc1852b285f665d6368b3" }, "later": { "Package": "later", @@ -1208,7 +1187,7 @@ }, "mgcv": { "Package": "mgcv", - "Version": "1.8-42", + "Version": "1.9-0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1221,19 +1200,13 @@ "stats", "utils" ], - "Hash": "3460beba7ccc8946249ba35327ba902a" + "Hash": "086028ca0460d0c368028d3bda58f31b" }, "mime": { "Package": "mime", "Version": "0.12", "Source": "Repository", "Repository": "RSPM", - "RemoteType": "standard", - "RemotePkgRef": "mime", - "RemoteRef": "mime", - "RemoteRepos": "https://cran.rstudio.com", - "RemotePkgPlatform": "source", - "RemoteSha": "0.12", "Requirements": [ "tools" ], @@ -1270,7 +1243,7 @@ }, "nlme": { "Package": "nlme", - "Version": "3.1-162", + "Version": "3.1-163", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1280,33 +1253,35 @@ "stats", "utils" ], - "Hash": "0984ce8da8da9ead8643c5cbbb60f83e" + "Hash": "8d1938040a05566f4f7a14af4feadd6b" }, "openssl": { "Package": "openssl", - "Version": "2.0.6", + "Version": "2.1.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "askpass" ], - "Hash": "0f7cd2962e3044bb940cca4f4b5cecbe" + "Hash": "273a6bb4a9844c296a459d2176673270" }, "patchwork": { "Package": "patchwork", - "Version": "1.1.2", + "Version": "1.1.3", "Source": "Repository", - "Repository": "CRAN", + "Repository": "RSPM", "Requirements": [ + "cli", "ggplot2", "grDevices", "graphics", "grid", "gtable", + "rlang", "stats", "utils" ], - "Hash": "63b611e9d909a9ed057639d9c3b77152" + "Hash": "c5754106c02e8e019941100c81149431" }, "pillar": { "Package": "pillar", @@ -1402,18 +1377,19 @@ }, "promises": { "Package": "promises", - "Version": "1.2.0.1", + "Version": "1.2.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "R6", "Rcpp", + "fastmap", "later", "magrittr", "rlang", "stats" ], - "Hash": "4ab2c43adb4d4699cf3690acd378d75d" + "Hash": "0d8a15c9d000970ada1ab21405387dee" }, "ps": { "Package": "ps", @@ -1428,9 +1404,9 @@ }, "purrr": { "Package": "purrr", - "Version": "1.0.1", + "Version": "1.0.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "R", "cli", @@ -1439,7 +1415,7 @@ "rlang", "vctrs" ], - "Hash": "d71c815267c640f17ddbf7f16144b4bb" + "Hash": "1cba04a4e9414bdefc9dcaa99649a8dc" }, "ragg": { "Package": "ragg", @@ -1502,10 +1478,10 @@ }, "rematch": { "Package": "rematch", - "Version": "1.0.1", + "Version": "2.0.0", "Source": "Repository", - "Repository": "CRAN", - "Hash": "c66b930d20bb6d858cd18e1cebcfae5c" + "Repository": "RSPM", + "Hash": "cbff1b666c6fa6d21202f07e2318d4f1" }, "rematch2": { "Package": "rematch2", @@ -1519,13 +1495,13 @@ }, "renv": { "Package": "renv", - "Version": "0.17.3", + "Version": "1.0.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "utils" ], - "Hash": "4543b8cd233ae25c6aba8548be9e747e" + "Hash": "4b22ac016fe54028b88d0c68badbd061" }, "reprex": { "Package": "reprex", @@ -1562,7 +1538,7 @@ }, "rmarkdown": { "Package": "rmarkdown", - "Version": "2.23", + "Version": "2.24", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1582,14 +1558,14 @@ "xfun", "yaml" ], - "Hash": "79f14e53725f28900d936f692bfdd69f" + "Hash": "3854c37590717c08c32ec8542a2e0a35" }, "rstudioapi": { "Package": "rstudioapi", - "Version": "0.14", + "Version": "0.15.0", "Source": "Repository", "Repository": "CRAN", - "Hash": "690bd2acc42a9166ce34845884459320" + "Hash": "5564500e25cffad9e22244ced1379887" }, "rvest": { "Package": "rvest", @@ -1613,7 +1589,7 @@ }, "sass": { "Package": "sass", - "Version": "0.4.6", + "Version": "0.4.7", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1623,7 +1599,7 @@ "rappdirs", "rlang" ], - "Hash": "cc3ec7dd33982ef56570229b62d6388e" + "Hash": "6bd4d33b50ff927191ec9acbf52fd056" }, "scales": { "Package": "scales", @@ -1739,10 +1715,6 @@ "Package": "tidySummarizedExperiment", "Version": "1.10.0", "Source": "Bioconductor", - "git_url": "https://git.bioconductor.org/packages/tidySummarizedExperiment", - "git_branch": "RELEASE_3_17", - "git_last_commit": "e7ae528", - "git_last_commit_date": "2023-04-25", "Requirements": [ "R", "S4Vectors", @@ -1860,13 +1832,13 @@ }, "tinytex": { "Package": "tinytex", - "Version": "0.45", + "Version": "0.46", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "xfun" ], - "Hash": "e4e357f28c2edff493936b6cb30c3d65" + "Hash": "0c41a73214d982f539c56a7773c7afa5" }, "tzdb": { "Package": "tzdb", @@ -1891,13 +1863,13 @@ }, "uuid": { "Package": "uuid", - "Version": "1.1-0", + "Version": "1.1-1", "Source": "Repository", - "Repository": "CRAN", + "Repository": "RSPM", "Requirements": [ "R" ], - "Hash": "f1cb46c157d080b729159d407be83496" + "Hash": "3d78edfb977a69fc7a0341bee25e163f" }, "vctrs": { "Package": "vctrs", @@ -1964,23 +1936,20 @@ }, "xfun": { "Package": "xfun", - "Version": "0.39", + "Version": "0.40", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "stats", "tools" ], - "Hash": "8f56e9acb54fb525e66464d57ab58bcb" + "Hash": "be07d23211245fc7d4209f54c4e4ffc8" }, "xml2": { "Package": "xml2", "Version": "1.3.5", "Source": "Repository", - "Repository": "https://carpentries.r-universe.dev", - "RemoteUrl": "https://github.com/r-lib/xml2", - "RemoteRef": "v1.3.5", - "RemoteSha": "fc04323ae057fce4cb5848645f10f89db8681c3e", + "Repository": "CRAN", "Requirements": [ "R", "methods" @@ -1998,10 +1967,6 @@ "Package": "zlibbioc", "Version": "1.46.0", "Source": "Bioconductor", - "git_url": "https://git.bioconductor.org/packages/zlibbioc", - "git_branch": "RELEASE_3_17", - "git_last_commit": "f475457", - "git_last_commit_date": "2023-04-25", "Hash": "20158ef5adb641f0b4e8d63136f0e870" } } From 5df2d917b614554b9e4659471e3c80b6790e5e25 Mon Sep 17 00:00:00 2001 From: zkamvar Date: Tue, 12 Sep 2023 00:45:45 +0000 Subject: [PATCH 03/17] [actions] update sandpaper workflow to version 0.13.0 --- .github/workflows/README.md | 2 +- .github/workflows/sandpaper-version.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/README.md b/.github/workflows/README.md index 101967e4b..d6edf88dd 100644 --- a/.github/workflows/README.md +++ b/.github/workflows/README.md @@ -96,7 +96,7 @@ are okay. This update is run ~~weekly or~~ on demand. -### 03 Maintain: Update Pacakge Cache (update-cache.yaml) +### 03 Maintain: Update Package Cache (update-cache.yaml) For lessons that have generated content, we use {renv} to ensure that the output is stable. This is controlled by a single lockfile which documents the packages diff --git a/.github/workflows/sandpaper-version.txt b/.github/workflows/sandpaper-version.txt index e01e0ddd8..54d1a4f2a 100644 --- a/.github/workflows/sandpaper-version.txt +++ b/.github/workflows/sandpaper-version.txt @@ -1 +1 @@ -0.12.4 +0.13.0 From b737ca35ff64145348345e5c9e62d019d5e3411a Mon Sep 17 00:00:00 2001 From: Laurent Gatto Date: Tue, 26 Sep 2023 06:01:53 +0200 Subject: [PATCH 04/17] show rna_with_missing_values creation --- episodes/30-dplyr.Rmd | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/episodes/30-dplyr.Rmd b/episodes/30-dplyr.Rmd index 172084512..fa406887e 100644 --- a/episodes/30-dplyr.Rmd +++ b/episodes/30-dplyr.Rmd @@ -609,16 +609,13 @@ Let's imagine that for some reason, we had some missing expression values for so genes in certain samples. In the following fictive example, the gene Cyp2d22 has only one expression value, in GSM2545338 sample. -```{r, purl=TRUE, echo=FALSE} +```{r, purl=TRUE} rna_with_missing_values <- rna %>% select(gene, sample, expression) %>% filter(gene %in% c("Asl", "Apod", "Cyp2d22")) %>% filter(sample %in% c("GSM2545336", "GSM2545337", "GSM2545338")) %>% arrange(sample) %>% filter(!(gene == "Cyp2d22" & sample != "GSM2545338")) -``` - -```{r, purl=TRUE} rna_with_missing_values ``` From 4de522cde22e5aeda95923aef5ac30bcb3a04f3e Mon Sep 17 00:00:00 2001 From: Laurent Gatto Date: Tue, 26 Sep 2023 16:55:58 +0200 Subject: [PATCH 05/17] fix strain --- episodes/25-starting-with-data.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/episodes/25-starting-with-data.Rmd b/episodes/25-starting-with-data.Rmd index 4d96dd2ef..8135ab124 100644 --- a/episodes/25-starting-with-data.Rmd +++ b/episodes/25-starting-with-data.Rmd @@ -53,7 +53,7 @@ columns represent: | age | The age of the mouse (all mice were 8 weeks here) | | sex | The sex of the mouse | | infection | The infection state of the mouse, i.e. infected with Influenza A or not infected. | -| strain | The Influenza A strain; C57BL/6 in all cases. | +| strain | The Influenza A strain. | | time | The duration of the infection (in days). | | tissue | The tissue that was used for the gene expression experiment, i.e. cerebellum or spinal cord. | | mouse | The mouse unique identifier. | From 574c6b8adc78634522554401496e5f69e636d81d Mon Sep 17 00:00:00 2001 From: Laurent Gatto Date: Tue, 26 Sep 2023 16:56:41 +0200 Subject: [PATCH 06/17] Add join objective --- episodes/30-dplyr.Rmd | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/episodes/30-dplyr.Rmd b/episodes/30-dplyr.Rmd index fa406887e..032138ee4 100644 --- a/episodes/30-dplyr.Rmd +++ b/episodes/30-dplyr.Rmd @@ -11,8 +11,11 @@ exercises: 75 ::::::::::::::::::::::::::::::::::::::: objectives - Describe the purpose of the **`dplyr`** and **`tidyr`** packages. -- Describe several of their functions that are extremely useful to manipulate data. -- Describe the concept of a wide and a long table format, and see how to reshape a data frame from one format to the other one. +- Describe several of their functions that are extremely useful to + manipulate data. +- Describe the concept of a wide and a long table format, and see + how to reshape a data frame from one format to the other one. +- Demonstrate how to join tables. :::::::::::::::::::::::::::::::::::::::::::::::::: From c97f965a99916aa75f238fcde495b4dc72008b68 Mon Sep 17 00:00:00 2001 From: Laurent Gatto Date: Thu, 28 Sep 2023 09:25:04 +0200 Subject: [PATCH 07/17] remove unnecessary group_by() before count() --- episodes/30-dplyr.Rmd | 1 - 1 file changed, 1 deletion(-) diff --git a/episodes/30-dplyr.Rmd b/episodes/30-dplyr.Rmd index 032138ee4..9e260261b 100644 --- a/episodes/30-dplyr.Rmd +++ b/episodes/30-dplyr.Rmd @@ -511,7 +511,6 @@ rna %>% ## 3. rna %>% filter(sample == "GSM2545336") %>% - group_by(gene_biotype) %>% count(gene_biotype) %>% arrange(desc(n)) ## 4. From 0c2777ca7e5b53ee1c1d7a522f85d332f472581e Mon Sep 17 00:00:00 2001 From: Laurent Gatto Date: Mon, 2 Oct 2023 13:29:03 +0200 Subject: [PATCH 08/17] rm rWSBIM1207 from setup --- learners/setup.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/learners/setup.md b/learners/setup.md index 57cb55321..17c393de1 100644 --- a/learners/setup.md +++ b/learners/setup.md @@ -158,7 +158,6 @@ commands. For now, simply follow the instructions below: ```r install.packages(c("BiocManager", "remotes")) -BiocManager::install(c("tidyverse", "SummarizedExperiment", - "UCLouvain-CBIO/rWSBIM1207", "hexbin", +BiocManager::install(c("tidyverse", "SummarizedExperiment", "hexbin", "patchwork", "gridExtra", "lubridate")) ``` From 509bbba8636d8a6afae04591de2a276575d055ad Mon Sep 17 00:00:00 2001 From: Charlotte Soneson Date: Mon, 30 Oct 2023 09:29:27 +0100 Subject: [PATCH 09/17] Use consistent links for rnaseq.csv --- episodes/30-dplyr.Rmd | 2 +- episodes/40-visualization.Rmd | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/episodes/30-dplyr.Rmd b/episodes/30-dplyr.Rmd index 9e260261b..994ddcc1e 100644 --- a/episodes/30-dplyr.Rmd +++ b/episodes/30-dplyr.Rmd @@ -27,7 +27,7 @@ exercises: 75 ```{r loaddata_dplyr, echo=FALSE, purl=FALSE, message=FALSE} if (!file.exists("data/rnaseq.csv")) -download.file(url = "https://github.com/Bioconductor/bioconductor-teaching/raw/master/data/GSE96870/rnaseq.csv", +download.file(url = "https://github.com/carpentries-incubator/bioc-intro/raw/main/episodes/data/rnaseq.csv", destfile = "data/rnaseq.csv") ``` diff --git a/episodes/40-visualization.Rmd b/episodes/40-visualization.Rmd index 79678e8f7..3a920c43c 100644 --- a/episodes/40-visualization.Rmd +++ b/episodes/40-visualization.Rmd @@ -7,7 +7,7 @@ exercises: 60 ```{r loaddata_vis, echo=FALSE, purl=FALSE, message=FALSE} if (!file.exists("data/rnaseq.csv")) -download.file(url = "https://raw.githubusercontent.com/Bioconductor/bioconductor-teaching/master/data/GSE96870/rnaseq.csv", +download.file(url = "https://github.com/carpentries-incubator/bioc-intro/raw/main/episodes/data/rnaseq.csv", destfile = "data/rnaseq.csv") ``` From 9e423473d046f596fc3372ede60a49f037142041 Mon Sep 17 00:00:00 2001 From: zkamvar Date: Tue, 7 Nov 2023 00:39:52 +0000 Subject: [PATCH 10/17] [actions] update 32 packages --- renv/activate.R | 27 +--- renv/profiles/lesson-requirements/renv.lock | 133 ++++++++++---------- 2 files changed, 71 insertions(+), 89 deletions(-) diff --git a/renv/activate.R b/renv/activate.R index 2969c7324..cb5401f93 100644 --- a/renv/activate.R +++ b/renv/activate.R @@ -2,7 +2,7 @@ local({ # the requested version of renv - version <- "1.0.2" + version <- "1.0.3" attr(version, "sha") <- NULL # the project directory @@ -1034,19 +1034,6 @@ local({ } - - renv_bootstrap_in_rstudio <- function() { - commandArgs()[[1]] == "RStudio" - } - - # Used to work around buglet in RStudio if hook uses readline - renv_bootstrap_flush_console <- function() { - tryCatch({ - tools <- as.environment("tools:rstudio") - tools$.rs.api.sendToConsole("", echo = FALSE, focus = FALSE) - }, error = function(cnd) {}) - } - renv_json_read <- function(file = NULL, text = NULL) { jlerr <- NULL @@ -1185,16 +1172,8 @@ local({ # construct full libpath libpath <- file.path(root, prefix) - if (renv_bootstrap_in_rstudio()) { - # RStudio only updates console once .Rprofile is finished, so - # instead run code on sessionInit - setHook("rstudio.sessionInit", function(...) { - renv_bootstrap_exec(project, libpath, version) - renv_bootstrap_flush_console() - }) - } else { - renv_bootstrap_exec(project, libpath, version) - } + # run bootstrap code + renv_bootstrap_exec(project, libpath, version) invisible() diff --git a/renv/profiles/lesson-requirements/renv.lock b/renv/profiles/lesson-requirements/renv.lock index 66961fc92..a02ec85c3 100644 --- a/renv/profiles/lesson-requirements/renv.lock +++ b/renv/profiles/lesson-requirements/renv.lock @@ -115,7 +115,7 @@ }, "GenomeInfoDb": { "Package": "GenomeInfoDb", - "Version": "1.36.2", + "Version": "1.36.4", "Source": "Bioconductor", "Requirements": [ "BiocGenerics", @@ -129,7 +129,7 @@ "stats4", "utils" ], - "Hash": "94cae1161cc7a68e9e28a2a4994beb72" + "Hash": "1c6756527d78e8135d34662d2e1d54ec" }, "GenomeInfoDbData": { "Package": "GenomeInfoDbData", @@ -142,7 +142,7 @@ }, "GenomicRanges": { "Package": "GenomicRanges", - "Version": "1.52.0", + "Version": "1.52.1", "Source": "Bioconductor", "Requirements": [ "BiocGenerics", @@ -156,7 +156,7 @@ "stats4", "utils" ], - "Hash": "dc2970e434666341650a7983435597bf" + "Hash": "c9471497a07953ded9b8889879c079e9" }, "IRanges": { "Package": "IRanges", @@ -190,7 +190,7 @@ }, "Matrix": { "Package": "Matrix", - "Version": "1.6-1", + "Version": "1.6-1.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -203,7 +203,7 @@ "stats", "utils" ], - "Hash": "cb6855ac711958ca734b75e631b2035d" + "Hash": "1a00d4828f33a9d690806e98bd17150c" }, "MatrixGenerics": { "Package": "MatrixGenerics", @@ -237,7 +237,7 @@ }, "RCurl": { "Package": "RCurl", - "Version": "1.98-1.12", + "Version": "1.98-1.13", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -245,7 +245,7 @@ "bitops", "methods" ], - "Hash": "1d6ed2d006d483f31c6d5531f3a39923" + "Hash": "318c7b8d68358b45cbc6115dda23d7db" }, "Rcpp": { "Package": "Rcpp", @@ -277,7 +277,7 @@ }, "S4Vectors": { "Package": "S4Vectors", - "Version": "0.38.1", + "Version": "0.38.2", "Source": "Bioconductor", "Requirements": [ "BiocGenerics", @@ -287,7 +287,7 @@ "stats4", "utils" ], - "Hash": "f0a46e23a2a7d6aa27e945faf7f242c7" + "Hash": "338207894998073e7823706f886a1386" }, "SummarizedExperiment": { "Package": "SummarizedExperiment", @@ -575,13 +575,13 @@ }, "curl": { "Package": "curl", - "Version": "5.0.2", + "Version": "5.1.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R" ], - "Hash": "511bacbfa153a15251166b463b4da4f9" + "Hash": "9123f3ef96a2c1a93927d828b2fe7d4c" }, "data.table": { "Package": "data.table", @@ -596,7 +596,7 @@ }, "dbplyr": { "Package": "dbplyr", - "Version": "2.3.3", + "Version": "2.4.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -620,7 +620,7 @@ "vctrs", "withr" ], - "Hash": "d6fd1b1440c1cacc6623aaa4e9fe352b" + "Hash": "59351f28a81f0742720b85363c4fdd61" }, "digest": { "Package": "digest", @@ -688,26 +688,26 @@ }, "evaluate": { "Package": "evaluate", - "Version": "0.21", + "Version": "0.23", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "methods" ], - "Hash": "d59f3b464e8da1aef82dc04b588b8dfb" + "Hash": "daf4a1246be12c1fa8c7705a0935c1a0" }, "fansi": { "Package": "fansi", - "Version": "1.0.4", + "Version": "1.0.5", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "R", "grDevices", "utils" ], - "Hash": "1d9e7ad3c8312a192dea7d3db0274fde" + "Hash": "3e8583a60163b4bc1a80016e63b9959e" }, "farver": { "Package": "farver", @@ -797,9 +797,9 @@ }, "ggplot2": { "Package": "ggplot2", - "Version": "3.4.3", + "Version": "3.4.4", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "MASS", "R", @@ -818,7 +818,7 @@ "vctrs", "withr" ], - "Hash": "85846544c596e71f8f46483ab165da33" + "Hash": "313d31eff2274ecf4c1d3581db7241f9" }, "glue": { "Package": "glue", @@ -978,7 +978,7 @@ }, "htmltools": { "Package": "htmltools", - "Version": "0.5.6", + "Version": "0.5.7", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -991,7 +991,7 @@ "rlang", "utils" ], - "Hash": "a2326a66919a3311f7fbb1e3bf568283" + "Hash": "2d7b3857980e0e0d0a1fd6f11928ab0f" }, "htmlwidgets": { "Package": "htmlwidgets", @@ -1067,7 +1067,7 @@ }, "knitr": { "Package": "knitr", - "Version": "1.43", + "Version": "1.45", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1079,7 +1079,7 @@ "xfun", "yaml" ], - "Hash": "9775eb076713f627c07ce41d8199d8f6" + "Hash": "1ec462871063897135c1bcbe0fc8f07d" }, "labeling": { "Package": "labeling", @@ -1105,7 +1105,7 @@ }, "lattice": { "Package": "lattice", - "Version": "0.21-8", + "Version": "0.22-5", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1116,7 +1116,7 @@ "stats", "utils" ], - "Hash": "0b8a6d63c8770f02a8b5635f3c431e6b" + "Hash": "7c5e89f04e72d6611c77451f6331a091" }, "lazyeval": { "Package": "lazyeval", @@ -1143,7 +1143,7 @@ }, "lubridate": { "Package": "lubridate", - "Version": "1.9.2", + "Version": "1.9.3", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1152,7 +1152,7 @@ "methods", "timechange" ], - "Hash": "e25f18436e3efd42c7c590a1c4c15390" + "Hash": "680ad542fbcf801442c83a6ac5a2126c" }, "magrittr": { "Package": "magrittr", @@ -1257,13 +1257,13 @@ }, "openssl": { "Package": "openssl", - "Version": "2.1.0", + "Version": "2.1.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "askpass" ], - "Hash": "273a6bb4a9844c296a459d2176673270" + "Hash": "2a0dc8c6adfb6f032e4d4af82d258ab5" }, "patchwork": { "Package": "patchwork", @@ -1312,7 +1312,7 @@ }, "plotly": { "Package": "plotly", - "Version": "4.10.2", + "Version": "4.10.3", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1340,14 +1340,17 @@ "vctrs", "viridisLite" ], - "Hash": "6c00a09ba7d34917d9a3e28b15dd74e3" + "Hash": "56914cc61df53f2d0283d5498680867e" }, "prettyunits": { "Package": "prettyunits", - "Version": "1.1.1", + "Version": "1.2.0", "Source": "Repository", "Repository": "CRAN", - "Hash": "95ef9167b75dde9d2ccc3c7528393e7e" + "Requirements": [ + "R" + ], + "Hash": "6b01fc98b1e86c4f705ce9dcfd2f57c7" }, "processx": { "Package": "processx", @@ -1419,14 +1422,14 @@ }, "ragg": { "Package": "ragg", - "Version": "1.2.5", + "Version": "1.2.6", "Source": "Repository", - "Repository": "CRAN", + "Repository": "https://carpentries.r-universe.dev", "Requirements": [ "systemfonts", "textshaping" ], - "Hash": "690bc058ea2b1b8a407d3cfe3dce3ef9" + "Hash": "6ba2fa8740abdc2cc148407836509901" }, "rappdirs": { "Package": "rappdirs", @@ -1495,13 +1498,13 @@ }, "renv": { "Package": "renv", - "Version": "1.0.2", + "Version": "1.0.3", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "utils" ], - "Hash": "4b22ac016fe54028b88d0c68badbd061" + "Hash": "41b847654f567341725473431dd0d5ab" }, "reprex": { "Package": "reprex", @@ -1527,18 +1530,18 @@ }, "rlang": { "Package": "rlang", - "Version": "1.1.1", + "Version": "1.1.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "utils" ], - "Hash": "a85c767b55f0bf9b7ad16c6d7baee5bb" + "Hash": "50a6dbdc522936ca35afc5e2082ea91b" }, "rmarkdown": { "Package": "rmarkdown", - "Version": "2.24", + "Version": "2.25", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1558,7 +1561,7 @@ "xfun", "yaml" ], - "Hash": "3854c37590717c08c32ec8542a2e0a35" + "Hash": "d65e35823c817f09f4de424fcdfa812a" }, "rstudioapi": { "Package": "rstudioapi", @@ -1671,26 +1674,26 @@ }, "systemfonts": { "Package": "systemfonts", - "Version": "1.0.4", + "Version": "1.0.5", "Source": "Repository", - "Repository": "RSPM", + "Repository": "https://carpentries.r-universe.dev", "Requirements": [ "R", "cpp11" ], - "Hash": "90b28393209827327de889f49935140a" + "Hash": "15b594369e70b975ba9f064295983499" }, "textshaping": { "Package": "textshaping", - "Version": "0.3.6", + "Version": "0.3.7", "Source": "Repository", - "Repository": "RSPM", + "Repository": "https://carpentries.r-universe.dev", "Requirements": [ "R", "cpp11", "systemfonts" ], - "Hash": "1ab6223d3670fac7143202cb6a2d43d5" + "Hash": "997aac9ad649e0ef3b97f96cddd5622b" }, "tibble": { "Package": "tibble", @@ -1832,13 +1835,13 @@ }, "tinytex": { "Package": "tinytex", - "Version": "0.46", + "Version": "0.48", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "xfun" ], - "Hash": "0c41a73214d982f539c56a7773c7afa5" + "Hash": "8f96d229b7311beb32b94cf413b13f84" }, "tzdb": { "Package": "tzdb", @@ -1853,13 +1856,13 @@ }, "utf8": { "Package": "utf8", - "Version": "1.2.3", + "Version": "1.2.4", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "R" ], - "Hash": "1fe17157424bb09c48a8b3b550c753bc" + "Hash": "62b65c52671e6665f803ff02954446e9" }, "uuid": { "Package": "uuid", @@ -1873,7 +1876,7 @@ }, "vctrs": { "Package": "vctrs", - "Version": "0.6.3", + "Version": "0.6.4", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1883,7 +1886,7 @@ "lifecycle", "rlang" ], - "Hash": "d0ef2856b83dc33ea6e255caf6229ee2" + "Hash": "266c1ca411266ba8f365fcc726444b87" }, "viridisLite": { "Package": "viridisLite", @@ -1897,7 +1900,7 @@ }, "vroom": { "Package": "vroom", - "Version": "1.6.3", + "Version": "1.6.4", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1919,31 +1922,31 @@ "vctrs", "withr" ], - "Hash": "8318e64ffb3a70e652494017ec455561" + "Hash": "9db52c1656cf19c124f93124ea57f0fd" }, "withr": { "Package": "withr", - "Version": "2.5.0", + "Version": "2.5.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "R", "grDevices", "graphics", "stats" ], - "Hash": "c0e49a9760983e81e55cdd9be92e7182" + "Hash": "4b25e70111b7d644322e9513f403a272" }, "xfun": { "Package": "xfun", - "Version": "0.40", + "Version": "0.41", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "stats", "tools" ], - "Hash": "be07d23211245fc7d4209f54c4e4ffc8" + "Hash": "460a5e0fe46a80ef87424ad216028014" }, "xml2": { "Package": "xml2", From 0e89e9a3a4f77fc852fb6fb59692835656e178b3 Mon Sep 17 00:00:00 2001 From: zkamvar Date: Tue, 2 Jan 2024 00:44:38 +0000 Subject: [PATCH 11/17] [actions] update 32 packages --- renv/profiles/lesson-requirements/renv.lock | 148 ++++++++++---------- 1 file changed, 77 insertions(+), 71 deletions(-) diff --git a/renv/profiles/lesson-requirements/renv.lock b/renv/profiles/lesson-requirements/renv.lock index a02ec85c3..96beafcf1 100644 --- a/renv/profiles/lesson-requirements/renv.lock +++ b/renv/profiles/lesson-requirements/renv.lock @@ -1,6 +1,6 @@ { "R": { - "Version": "4.3.1", + "Version": "4.3.2", "Repositories": [ { "Name": "BioCsoft", @@ -86,14 +86,14 @@ }, "DBI": { "Package": "DBI", - "Version": "1.1.3", + "Version": "1.2.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "methods" ], - "Hash": "b2866e62bab9378c3cc9476a1954226b" + "Hash": "3e0051431dff9acfe66c23765e55c556" }, "DelayedArray": { "Package": "DelayedArray", @@ -190,7 +190,7 @@ }, "Matrix": { "Package": "Matrix", - "Version": "1.6-1.1", + "Version": "1.6-4", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -203,7 +203,7 @@ "stats", "utils" ], - "Hash": "1a00d4828f33a9d690806e98bd17150c" + "Hash": "d9c655b30a2edc6bb2244c1d1e8d549d" }, "MatrixGenerics": { "Package": "MatrixGenerics", @@ -436,7 +436,7 @@ }, "bslib": { "Package": "bslib", - "Version": "0.5.1", + "Version": "0.6.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -447,12 +447,13 @@ "htmltools", "jquerylib", "jsonlite", + "lifecycle", "memoise", "mime", "rlang", "sass" ], - "Hash": "283015ddfbb9d7bf15ea9f0b5698f0d9" + "Hash": "c0d8599494bc7fb408cd206bbdd9cab0" }, "cachem": { "Package": "cachem", @@ -492,14 +493,14 @@ }, "cli": { "Package": "cli", - "Version": "3.6.1", + "Version": "3.6.2", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "R", "utils" ], - "Hash": "89e6d8219950eac806ae0c489052048a" + "Hash": "1216ac65ac55ec0058a6f75d7ca0fd52" }, "clipr": { "Package": "clipr", @@ -540,13 +541,13 @@ }, "cpp11": { "Package": "cpp11", - "Version": "0.4.6", + "Version": "0.4.7", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R" ], - "Hash": "707fae4bbf73697ec8d85f9d7076c061" + "Hash": "5a295d7d963cc5035284dcdbaf334f4e" }, "crayon": { "Package": "crayon", @@ -562,7 +563,7 @@ }, "crosstalk": { "Package": "crosstalk", - "Version": "1.2.0", + "Version": "1.2.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -571,28 +572,28 @@ "jsonlite", "lazyeval" ], - "Hash": "6aa54f69598c32177e920eb3402e8293" + "Hash": "ab12c7b080a57475248a30f4db6298c0" }, "curl": { "Package": "curl", - "Version": "5.1.0", + "Version": "5.2.0", "Source": "Repository", - "Repository": "CRAN", + "Repository": "https://carpentries.r-universe.dev", "Requirements": [ "R" ], - "Hash": "9123f3ef96a2c1a93927d828b2fe7d4c" + "Hash": "ce88d13c0b10fe88a37d9c59dba2d7f9" }, "data.table": { "Package": "data.table", - "Version": "1.14.8", + "Version": "1.14.10", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "methods" ], - "Hash": "b4c06e554f33344e044ccd7fdca750a9" + "Hash": "6ea17a32294d8ca00455825ab0cf71b9" }, "dbplyr": { "Package": "dbplyr", @@ -635,9 +636,9 @@ }, "dplyr": { "Package": "dplyr", - "Version": "1.1.3", + "Version": "1.1.4", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "R", "R6", @@ -654,7 +655,7 @@ "utils", "vctrs" ], - "Hash": "e85ffbebaad5f70e1a2e2ef4302b4949" + "Hash": "fedd9d00c2944ff00a0e2696ccf048ec" }, "dtplyr": { "Package": "dtplyr", @@ -699,7 +700,7 @@ }, "fansi": { "Package": "fansi", - "Version": "1.0.5", + "Version": "1.0.6", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -707,7 +708,7 @@ "grDevices", "utils" ], - "Hash": "3e8583a60163b4bc1a80016e63b9959e" + "Hash": "962174cf2aeb5b9eea581522286a911f" }, "farver": { "Package": "farver", @@ -915,7 +916,7 @@ }, "haven": { "Package": "haven", - "Version": "2.5.3", + "Version": "2.5.4", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -932,7 +933,7 @@ "tidyselect", "vctrs" ], - "Hash": "9b302fe352f9cfc5dcf0a4139af3a565" + "Hash": "9171f898db9d9c4c1b2c745adc2c1ef1" }, "hexbin": { "Package": "hexbin", @@ -995,7 +996,7 @@ }, "htmlwidgets": { "Package": "htmlwidgets", - "Version": "1.6.2", + "Version": "1.6.4", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1006,7 +1007,7 @@ "rmarkdown", "yaml" ], - "Hash": "a865aa85bcb2697f47505bfd70422471" + "Hash": "04291cc45198225444a397606810ac37" }, "httr": { "Package": "httr", @@ -1057,13 +1058,13 @@ }, "jsonlite": { "Package": "jsonlite", - "Version": "1.8.7", + "Version": "1.8.8", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "methods" ], - "Hash": "266a20443ca13c65688b2116d5220f76" + "Hash": "e1b9c55281c5adc4dd113652d9e26768" }, "knitr": { "Package": "knitr", @@ -1094,14 +1095,14 @@ }, "later": { "Package": "later", - "Version": "1.3.1", + "Version": "1.3.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "Rcpp", "rlang" ], - "Hash": "40401c9cf2bc2259dfe83311c9384710" + "Hash": "a3e051d405326b8b0012377434c62b37" }, "lattice": { "Package": "lattice", @@ -1130,16 +1131,16 @@ }, "lifecycle": { "Package": "lifecycle", - "Version": "1.0.3", + "Version": "1.0.4", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "R", "cli", "glue", "rlang" ], - "Hash": "001cecbeac1cff9301bdc3775ee46a86" + "Hash": "b8552d117e1b808b09a832f589b79035" }, "lubridate": { "Package": "lubridate", @@ -1166,13 +1167,13 @@ }, "matrixStats": { "Package": "matrixStats", - "Version": "1.0.0", + "Version": "1.2.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R" ], - "Hash": "9143629fd64335aac6a6250d1c1ed82a" + "Hash": "33a3ca9e732b57244d14f5d732ffc9eb" }, "memoise": { "Package": "memoise", @@ -1187,7 +1188,7 @@ }, "mgcv": { "Package": "mgcv", - "Version": "1.9-0", + "Version": "1.9-1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1200,7 +1201,7 @@ "stats", "utils" ], - "Hash": "086028ca0460d0c368028d3bda58f31b" + "Hash": "110ee9d83b496279960e162ac97764ce" }, "mime": { "Package": "mime", @@ -1243,7 +1244,7 @@ }, "nlme": { "Package": "nlme", - "Version": "3.1-163", + "Version": "3.1-164", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1253,7 +1254,7 @@ "stats", "utils" ], - "Hash": "8d1938040a05566f4f7a14af4feadd6b" + "Hash": "a623a2239e642806158bc4dc3f51565d" }, "openssl": { "Package": "openssl", @@ -1354,7 +1355,7 @@ }, "processx": { "Package": "processx", - "Version": "3.8.2", + "Version": "3.8.3", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1363,20 +1364,21 @@ "ps", "utils" ], - "Hash": "3efbd8ac1be0296a46c55387aeace0f3" + "Hash": "82d48b1aec56084d9438dbf98087a7e9" }, "progress": { "Package": "progress", - "Version": "1.2.2", + "Version": "1.2.3", "Source": "Repository", "Repository": "CRAN", "Requirements": [ + "R", "R6", "crayon", "hms", "prettyunits" ], - "Hash": "14dc9f7a3c91ebb14ec5bb9208a07061" + "Hash": "f4625e061cb2865f111b47ff163a5ca6" }, "promises": { "Package": "promises", @@ -1422,14 +1424,14 @@ }, "ragg": { "Package": "ragg", - "Version": "1.2.6", + "Version": "1.2.7", "Source": "Repository", "Repository": "https://carpentries.r-universe.dev", "Requirements": [ "systemfonts", "textshaping" ], - "Hash": "6ba2fa8740abdc2cc148407836509901" + "Hash": "90a1b8b7e518d7f90480d56453b4d062" }, "rappdirs": { "Package": "rappdirs", @@ -1592,7 +1594,7 @@ }, "sass": { "Package": "sass", - "Version": "0.4.7", + "Version": "0.4.8", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1602,25 +1604,27 @@ "rappdirs", "rlang" ], - "Hash": "6bd4d33b50ff927191ec9acbf52fd056" + "Hash": "168f9353c76d4c4b0a0bbf72e2c2d035" }, "scales": { "Package": "scales", - "Version": "1.2.1", + "Version": "1.3.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "R6", "RColorBrewer", + "cli", "farver", + "glue", "labeling", "lifecycle", "munsell", "rlang", "viridisLite" ], - "Hash": "906cb23d2f1c5680b8ce439b44c6fa63" + "Hash": "c19df082ba346b0ffa6f833e92de34d1" }, "selectr": { "Package": "selectr", @@ -1637,22 +1641,22 @@ }, "stringi": { "Package": "stringi", - "Version": "1.7.12", + "Version": "1.8.3", "Source": "Repository", - "Repository": "RSPM", + "Repository": "https://carpentries.r-universe.dev", "Requirements": [ "R", "stats", "tools", "utils" ], - "Hash": "ca8bd84263c77310739d2cf64d84d7c9" + "Hash": "058aebddea264f4c99401515182e656a" }, "stringr": { "Package": "stringr", - "Version": "1.5.0", + "Version": "1.5.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "R", "cli", @@ -1663,7 +1667,7 @@ "stringi", "vctrs" ], - "Hash": "671a4d384ae9d32fc47a14e98bfa3dc8" + "Hash": "960e2ae9e09656611e0b8214ad543207" }, "sys": { "Package": "sys", @@ -1676,7 +1680,7 @@ "Package": "systemfonts", "Version": "1.0.5", "Source": "Repository", - "Repository": "https://carpentries.r-universe.dev", + "Repository": "RSPM", "Requirements": [ "R", "cpp11" @@ -1687,7 +1691,7 @@ "Package": "textshaping", "Version": "0.3.7", "Source": "Repository", - "Repository": "https://carpentries.r-universe.dev", + "Repository": "RSPM", "Requirements": [ "R", "cpp11", @@ -1835,13 +1839,13 @@ }, "tinytex": { "Package": "tinytex", - "Version": "0.48", + "Version": "0.49", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "xfun" ], - "Hash": "8f96d229b7311beb32b94cf413b13f84" + "Hash": "5ac22900ae0f386e54f1c307eca7d843" }, "tzdb": { "Package": "tzdb", @@ -1876,7 +1880,7 @@ }, "vctrs": { "Package": "vctrs", - "Version": "0.6.4", + "Version": "0.6.5", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1886,7 +1890,7 @@ "lifecycle", "rlang" ], - "Hash": "266c1ca411266ba8f365fcc726444b87" + "Hash": "c03fa420630029418f7e6da3667aac4a" }, "viridisLite": { "Package": "viridisLite", @@ -1900,7 +1904,7 @@ }, "vroom": { "Package": "vroom", - "Version": "1.6.4", + "Version": "1.6.5", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1922,7 +1926,7 @@ "vctrs", "withr" ], - "Hash": "9db52c1656cf19c124f93124ea57f0fd" + "Hash": "390f9315bc0025be03012054103d227c" }, "withr": { "Package": "withr", @@ -1950,21 +1954,23 @@ }, "xml2": { "Package": "xml2", - "Version": "1.3.5", + "Version": "1.3.6", "Source": "Repository", - "Repository": "CRAN", + "Repository": "https://carpentries.r-universe.dev", "Requirements": [ "R", - "methods" + "cli", + "methods", + "rlang" ], - "Hash": "6c40e5cfcc6aefd88110666e18c31f40" + "Hash": "1d0336142f4cd25d8d23cd3ba7a8fb61" }, "yaml": { "Package": "yaml", - "Version": "2.3.7", + "Version": "2.3.8", "Source": "Repository", "Repository": "CRAN", - "Hash": "0d0056cc5383fbc240ccd0cb584bf436" + "Hash": "29240487a071f535f5e5d5a323b7afbd" }, "zlibbioc": { "Package": "zlibbioc", From 49c06d5693bffba4332cca47356f87c4383fa0dc Mon Sep 17 00:00:00 2001 From: zkamvar Date: Tue, 6 Feb 2024 00:37:06 +0000 Subject: [PATCH 12/17] [actions] update 21 packages --- renv/profiles/lesson-requirements/renv.lock | 91 ++++++++++----------- 1 file changed, 45 insertions(+), 46 deletions(-) diff --git a/renv/profiles/lesson-requirements/renv.lock b/renv/profiles/lesson-requirements/renv.lock index 96beafcf1..6a8e35689 100644 --- a/renv/profiles/lesson-requirements/renv.lock +++ b/renv/profiles/lesson-requirements/renv.lock @@ -86,14 +86,14 @@ }, "DBI": { "Package": "DBI", - "Version": "1.2.0", + "Version": "1.2.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "methods" ], - "Hash": "3e0051431dff9acfe66c23765e55c556" + "Hash": "9b4993e98e0e19da84c168460c032fef" }, "DelayedArray": { "Package": "DelayedArray", @@ -175,7 +175,7 @@ }, "MASS": { "Package": "MASS", - "Version": "7.3-60", + "Version": "7.3-60.0.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -186,11 +186,11 @@ "stats", "utils" ], - "Hash": "a56a6365b3fa73293ea8d084be0d9bb0" + "Hash": "b765b28387acc8ec9e9c1530713cb19c" }, "Matrix": { "Package": "Matrix", - "Version": "1.6-4", + "Version": "1.6-5", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -203,7 +203,7 @@ "stats", "utils" ], - "Hash": "d9c655b30a2edc6bb2244c1d1e8d549d" + "Hash": "8c7115cd3a0e048bda2a7cd110549f7a" }, "MatrixGenerics": { "Package": "MatrixGenerics", @@ -237,7 +237,7 @@ }, "RCurl": { "Package": "RCurl", - "Version": "1.98-1.13", + "Version": "1.98-1.14", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -245,18 +245,18 @@ "bitops", "methods" ], - "Hash": "318c7b8d68358b45cbc6115dda23d7db" + "Hash": "47f648d288079d0c696804ad4e55197e" }, "Rcpp": { "Package": "Rcpp", - "Version": "1.0.11", + "Version": "1.0.12", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "methods", "utils" ], - "Hash": "ae6cbbe1492f4de79c45fce06f967ce8" + "Hash": "5ea2700d21e038ace58269ecdbeb9ec0" }, "S4Arrays": { "Package": "S4Arrays", @@ -578,7 +578,7 @@ "Package": "curl", "Version": "5.2.0", "Source": "Repository", - "Repository": "https://carpentries.r-universe.dev", + "Repository": "RSPM", "Requirements": [ "R" ], @@ -586,14 +586,14 @@ }, "data.table": { "Package": "data.table", - "Version": "1.14.10", + "Version": "1.15.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "methods" ], - "Hash": "6ea17a32294d8ca00455825ab0cf71b9" + "Hash": "cfbbb4aed6e78cd45f17123a9ec9981a" }, "dbplyr": { "Package": "dbplyr", @@ -625,14 +625,14 @@ }, "digest": { "Package": "digest", - "Version": "0.6.33", + "Version": "0.6.34", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "utils" ], - "Hash": "b18a9cf3c003977b0cc49d5e76ebe48d" + "Hash": "7ede2ee9ea8d3edbf1ca84c1e333ad1a" }, "dplyr": { "Package": "dplyr", @@ -823,14 +823,14 @@ }, "glue": { "Package": "glue", - "Version": "1.6.2", + "Version": "1.7.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "R", "methods" ], - "Hash": "4f2596dfb05dac67b9dc558e5c6fba2e" + "Hash": "e0b3a53876554bd45879e596cdb10a52" }, "googledrive": { "Package": "googledrive", @@ -1246,7 +1246,7 @@ "Package": "nlme", "Version": "3.1-164", "Source": "Repository", - "Repository": "CRAN", + "Repository": "RSPM", "Requirements": [ "R", "graphics", @@ -1268,9 +1268,9 @@ }, "patchwork": { "Package": "patchwork", - "Version": "1.1.3", + "Version": "1.2.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "cli", "ggplot2", @@ -1282,7 +1282,7 @@ "stats", "utils" ], - "Hash": "c5754106c02e8e019941100c81149431" + "Hash": "9c8ab14c00ac07e9e04d1664c0b74486" }, "pillar": { "Package": "pillar", @@ -1313,7 +1313,7 @@ }, "plotly": { "Package": "plotly", - "Version": "4.10.3", + "Version": "4.10.4", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1341,7 +1341,7 @@ "vctrs", "viridisLite" ], - "Hash": "56914cc61df53f2d0283d5498680867e" + "Hash": "a1ac5c03ad5ad12b9d1597e00e23c3dd" }, "prettyunits": { "Package": "prettyunits", @@ -1398,14 +1398,14 @@ }, "ps": { "Package": "ps", - "Version": "1.7.5", + "Version": "1.7.6", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "utils" ], - "Hash": "709d852d33178db54b17c722e5b1e594" + "Hash": "dd2b9319ee0656c8acf45c7f40c59de7" }, "purrr": { "Package": "purrr", @@ -1426,7 +1426,7 @@ "Package": "ragg", "Version": "1.2.7", "Source": "Repository", - "Repository": "https://carpentries.r-universe.dev", + "Repository": "RSPM", "Requirements": [ "systemfonts", "textshaping" @@ -1445,7 +1445,7 @@ }, "readr": { "Package": "readr", - "Version": "2.1.4", + "Version": "2.1.5", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1464,7 +1464,7 @@ "utils", "vroom" ], - "Hash": "b5047343b3825f37ad9d3b5d89aa1078" + "Hash": "9de96463d2117f6ac49980577939dfb3" }, "readxl": { "Package": "readxl", @@ -1510,7 +1510,7 @@ }, "reprex": { "Package": "reprex", - "Version": "2.0.2", + "Version": "2.1.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1528,18 +1528,18 @@ "utils", "withr" ], - "Hash": "d66fe009d4c20b7ab1927eb405db9ee2" + "Hash": "1425f91b4d5d9a8f25352c44a3d914ed" }, "rlang": { "Package": "rlang", - "Version": "1.1.2", + "Version": "1.1.3", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "utils" ], - "Hash": "50a6dbdc522936ca35afc5e2082ea91b" + "Hash": "42548638fae05fd9a9b5f3f437fbbbe2" }, "rmarkdown": { "Package": "rmarkdown", @@ -1643,7 +1643,7 @@ "Package": "stringi", "Version": "1.8.3", "Source": "Repository", - "Repository": "https://carpentries.r-universe.dev", + "Repository": "RSPM", "Requirements": [ "R", "stats", @@ -1749,7 +1749,7 @@ }, "tidyr": { "Package": "tidyr", - "Version": "1.3.0", + "Version": "1.3.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1768,7 +1768,7 @@ "utils", "vctrs" ], - "Hash": "e47debdc7ce599b070c8e78e8ac0cfcf" + "Hash": "915fb7ce036c22a6a33b5a8adb712eb1" }, "tidyselect": { "Package": "tidyselect", @@ -1828,14 +1828,14 @@ }, "timechange": { "Package": "timechange", - "Version": "0.2.0", + "Version": "0.3.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "cpp11" ], - "Hash": "8548b44f79a35ba1791308b61e6012d7" + "Hash": "c5f3c201b931cd6474d17d8700ccb1c8" }, "tinytex": { "Package": "tinytex", @@ -1870,13 +1870,13 @@ }, "uuid": { "Package": "uuid", - "Version": "1.1-1", + "Version": "1.2-0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "R" ], - "Hash": "3d78edfb977a69fc7a0341bee25e163f" + "Hash": "303c19bfd970bece872f93a824e323d9" }, "vctrs": { "Package": "vctrs", @@ -1930,16 +1930,15 @@ }, "withr": { "Package": "withr", - "Version": "2.5.2", + "Version": "3.0.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "grDevices", - "graphics", - "stats" + "graphics" ], - "Hash": "4b25e70111b7d644322e9513f403a272" + "Hash": "d31b6c62c10dcf11ec530ca6b0dd5d35" }, "xfun": { "Package": "xfun", @@ -1956,7 +1955,7 @@ "Package": "xml2", "Version": "1.3.6", "Source": "Repository", - "Repository": "https://carpentries.r-universe.dev", + "Repository": "RSPM", "Requirements": [ "R", "cli", From ce99be1bb1a1901a1e103f978cd692faaf2b955f Mon Sep 17 00:00:00 2001 From: zkamvar Date: Tue, 5 Mar 2024 00:34:28 +0000 Subject: [PATCH 13/17] [actions] update 11 packages --- renv/activate.R | 39 ++++++++++++++++----- renv/profiles/lesson-requirements/renv.lock | 38 ++++++++++---------- 2 files changed, 49 insertions(+), 28 deletions(-) diff --git a/renv/activate.R b/renv/activate.R index cb5401f93..9b2e7f184 100644 --- a/renv/activate.R +++ b/renv/activate.R @@ -2,7 +2,7 @@ local({ # the requested version of renv - version <- "1.0.3" + version <- "1.0.5" attr(version, "sha") <- NULL # the project directory @@ -31,6 +31,14 @@ local({ if (!is.null(override)) return(override) + # if we're being run in a context where R_LIBS is already set, + # don't load -- presumably we're being run as a sub-process and + # the parent process has already set up library paths for us + rcmd <- Sys.getenv("R_CMD", unset = NA) + rlibs <- Sys.getenv("R_LIBS", unset = NA) + if (!is.na(rlibs) && !is.na(rcmd)) + return(FALSE) + # next, check environment variables # TODO: prefer using the configuration one in the future envvars <- c( @@ -50,9 +58,22 @@ local({ }) - if (!enabled) + # bail if we're not enabled + if (!enabled) { + + # if we're not enabled, we might still need to manually load + # the user profile here + profile <- Sys.getenv("R_PROFILE_USER", unset = "~/.Rprofile") + if (file.exists(profile)) { + cfg <- Sys.getenv("RENV_CONFIG_USER_PROFILE", unset = "TRUE") + if (tolower(cfg) %in% c("true", "t", "1")) + sys.source(profile, envir = globalenv()) + } + return(FALSE) + } + # avoid recursion if (identical(getOption("renv.autoloader.running"), TRUE)) { warning("ignoring recursive attempt to run renv autoloader") @@ -1041,7 +1062,7 @@ local({ # if jsonlite is loaded, use that instead if ("jsonlite" %in% loadedNamespaces()) { - json <- catch(renv_json_read_jsonlite(file, text)) + json <- tryCatch(renv_json_read_jsonlite(file, text), error = identity) if (!inherits(json, "error")) return(json) @@ -1050,7 +1071,7 @@ local({ } # otherwise, fall back to the default JSON reader - json <- catch(renv_json_read_default(file, text)) + json <- tryCatch(renv_json_read_default(file, text), error = identity) if (!inherits(json, "error")) return(json) @@ -1063,14 +1084,14 @@ local({ } renv_json_read_jsonlite <- function(file = NULL, text = NULL) { - text <- paste(text %||% read(file), collapse = "\n") + text <- paste(text %||% readLines(file, warn = FALSE), collapse = "\n") jsonlite::fromJSON(txt = text, simplifyVector = FALSE) } renv_json_read_default <- function(file = NULL, text = NULL) { # find strings in the JSON - text <- paste(text %||% read(file), collapse = "\n") + text <- paste(text %||% readLines(file, warn = FALSE), collapse = "\n") pattern <- '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]' locs <- gregexpr(pattern, text, perl = TRUE)[[1]] @@ -1118,14 +1139,14 @@ local({ map <- as.list(map) # remap strings in object - remapped <- renv_json_remap(json, map) + remapped <- renv_json_read_remap(json, map) # evaluate eval(remapped, envir = baseenv()) } - renv_json_remap <- function(json, map) { + renv_json_read_remap <- function(json, map) { # fix names if (!is.null(names(json))) { @@ -1152,7 +1173,7 @@ local({ # recurse if (is.recursive(json)) { for (i in seq_along(json)) { - json[i] <- list(renv_json_remap(json[[i]], map)) + json[i] <- list(renv_json_read_remap(json[[i]], map)) } } diff --git a/renv/profiles/lesson-requirements/renv.lock b/renv/profiles/lesson-requirements/renv.lock index 6a8e35689..5176ab54f 100644 --- a/renv/profiles/lesson-requirements/renv.lock +++ b/renv/profiles/lesson-requirements/renv.lock @@ -86,14 +86,14 @@ }, "DBI": { "Package": "DBI", - "Version": "1.2.1", + "Version": "1.2.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "methods" ], - "Hash": "9b4993e98e0e19da84c168460c032fef" + "Hash": "164809cd72e1d5160b4cb3aa57f510fe" }, "DelayedArray": { "Package": "DelayedArray", @@ -468,16 +468,16 @@ }, "callr": { "Package": "callr", - "Version": "3.7.3", + "Version": "3.7.5", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "R", "R6", "processx", "utils" ], - "Hash": "9b2191ede20fa29828139b9900922e51" + "Hash": "9f0e4fae4963ba775a5e5c520838c87b" }, "cellranger": { "Package": "cellranger", @@ -576,24 +576,24 @@ }, "curl": { "Package": "curl", - "Version": "5.2.0", + "Version": "5.2.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "carpentries", "Requirements": [ "R" ], - "Hash": "ce88d13c0b10fe88a37d9c59dba2d7f9" + "Hash": "411ca2c03b1ce5f548345d2fc2685f7a" }, "data.table": { "Package": "data.table", - "Version": "1.15.0", + "Version": "1.15.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "methods" ], - "Hash": "cfbbb4aed6e78cd45f17123a9ec9981a" + "Hash": "536dfe4ac4093b5d115caed7a1a7223b" }, "dbplyr": { "Package": "dbplyr", @@ -798,7 +798,7 @@ }, "ggplot2": { "Package": "ggplot2", - "Version": "3.4.4", + "Version": "3.5.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -819,7 +819,7 @@ "vctrs", "withr" ], - "Hash": "313d31eff2274ecf4c1d3581db7241f9" + "Hash": "52ef83f93f74833007f193b2d4c159a2" }, "glue": { "Package": "glue", @@ -1500,13 +1500,13 @@ }, "renv": { "Package": "renv", - "Version": "1.0.3", + "Version": "1.0.5", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "utils" ], - "Hash": "41b847654f567341725473431dd0d5ab" + "Hash": "32c3f93e8360f667ca5863272ec8ba6a" }, "reprex": { "Package": "reprex", @@ -1574,7 +1574,7 @@ }, "rvest": { "Package": "rvest", - "Version": "1.0.3", + "Version": "1.0.4", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1587,10 +1587,9 @@ "rlang", "selectr", "tibble", - "withr", "xml2" ], - "Hash": "a4a5ac819a467808c60e36e92ddf195e" + "Hash": "0bcf0c6f274e90ea314b812a6d19a519" }, "sass": { "Package": "sass", @@ -1942,14 +1941,15 @@ }, "xfun": { "Package": "xfun", - "Version": "0.41", + "Version": "0.42", "Source": "Repository", "Repository": "CRAN", "Requirements": [ + "grDevices", "stats", "tools" ], - "Hash": "460a5e0fe46a80ef87424ad216028014" + "Hash": "fd1349170df31f7a10bd98b0189e85af" }, "xml2": { "Package": "xml2", From 3edb5746263003b27d83589f40255b67c147af8e Mon Sep 17 00:00:00 2001 From: zkamvar Date: Tue, 2 Apr 2024 00:38:50 +0000 Subject: [PATCH 14/17] [actions] update 20 packages --- renv/profiles/lesson-requirements/renv.lock | 81 ++++++++++----------- 1 file changed, 40 insertions(+), 41 deletions(-) diff --git a/renv/profiles/lesson-requirements/renv.lock b/renv/profiles/lesson-requirements/renv.lock index 5176ab54f..31758370b 100644 --- a/renv/profiles/lesson-requirements/renv.lock +++ b/renv/profiles/lesson-requirements/renv.lock @@ -1,6 +1,6 @@ { "R": { - "Version": "4.3.2", + "Version": "4.3.3", "Repositories": [ { "Name": "BioCsoft", @@ -436,13 +436,14 @@ }, "bslib": { "Package": "bslib", - "Version": "0.6.1", + "Version": "0.7.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "base64enc", "cachem", + "fastmap", "grDevices", "htmltools", "jquerylib", @@ -453,7 +454,7 @@ "rlang", "sass" ], - "Hash": "c0d8599494bc7fb408cd206bbdd9cab0" + "Hash": "8644cc53f43828f19133548195d7e59e" }, "cachem": { "Package": "cachem", @@ -468,7 +469,7 @@ }, "callr": { "Package": "callr", - "Version": "3.7.5", + "Version": "3.7.6", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -477,7 +478,7 @@ "processx", "utils" ], - "Hash": "9f0e4fae4963ba775a5e5c520838c87b" + "Hash": "d7e13f49c19103ece9e58ad2d83a7354" }, "cellranger": { "Package": "cellranger", @@ -578,7 +579,7 @@ "Package": "curl", "Version": "5.2.1", "Source": "Repository", - "Repository": "carpentries", + "Repository": "RSPM", "Requirements": [ "R" ], @@ -586,18 +587,18 @@ }, "data.table": { "Package": "data.table", - "Version": "1.15.2", + "Version": "1.15.4", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "methods" ], - "Hash": "536dfe4ac4093b5d115caed7a1a7223b" + "Hash": "8ee9ac56ef633d0c7cab8b2ca87d683e" }, "dbplyr": { "Package": "dbplyr", - "Version": "2.4.0", + "Version": "2.5.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -621,18 +622,18 @@ "vctrs", "withr" ], - "Hash": "59351f28a81f0742720b85363c4fdd61" + "Hash": "39b2e002522bfd258039ee4e889e0fd1" }, "digest": { "Package": "digest", - "Version": "0.6.34", + "Version": "0.6.35", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "utils" ], - "Hash": "7ede2ee9ea8d3edbf1ca84c1e333ad1a" + "Hash": "698ece7ba5a4fa4559e3d537e7ec3d31" }, "dplyr": { "Package": "dplyr", @@ -979,20 +980,19 @@ }, "htmltools": { "Package": "htmltools", - "Version": "0.5.7", + "Version": "0.5.8", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "base64enc", "digest", - "ellipsis", "fastmap", "grDevices", "rlang", "utils" ], - "Hash": "2d7b3857980e0e0d0a1fd6f11928ab0f" + "Hash": "149431ee39aba5bdc264112c8ff94444" }, "htmlwidgets": { "Package": "htmlwidgets", @@ -1106,7 +1106,7 @@ }, "lattice": { "Package": "lattice", - "Version": "0.22-5", + "Version": "0.22-6", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1117,7 +1117,7 @@ "stats", "utils" ], - "Hash": "7c5e89f04e72d6611c77451f6331a091" + "Hash": "cc5ac1ba4c238c7ca9fa6a87ca11a7e2" }, "lazyeval": { "Package": "lazyeval", @@ -1233,14 +1233,14 @@ }, "munsell": { "Package": "munsell", - "Version": "0.5.0", + "Version": "0.5.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "colorspace", "methods" ], - "Hash": "6dfe8bf774944bd5595785e3229d8771" + "Hash": "4fd8900853b746af55b81fda99da7695" }, "nlme": { "Package": "nlme", @@ -1355,7 +1355,7 @@ }, "processx": { "Package": "processx", - "Version": "3.8.3", + "Version": "3.8.4", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1364,7 +1364,7 @@ "ps", "utils" ], - "Hash": "82d48b1aec56084d9438dbf98087a7e9" + "Hash": "0c90a7d71988856bad2a2a45dd871bb9" }, "progress": { "Package": "progress", @@ -1424,14 +1424,14 @@ }, "ragg": { "Package": "ragg", - "Version": "1.2.7", + "Version": "1.3.0", "Source": "Repository", - "Repository": "RSPM", + "Repository": "carpentries", "Requirements": [ "systemfonts", "textshaping" ], - "Hash": "90a1b8b7e518d7f90480d56453b4d062" + "Hash": "082e1a198e3329d571f4448ef0ede4bc" }, "rappdirs": { "Package": "rappdirs", @@ -1543,7 +1543,7 @@ }, "rmarkdown": { "Package": "rmarkdown", - "Version": "2.25", + "Version": "2.26", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1556,21 +1556,20 @@ "jsonlite", "knitr", "methods", - "stringr", "tinytex", "tools", "utils", "xfun", "yaml" ], - "Hash": "d65e35823c817f09f4de424fcdfa812a" + "Hash": "9b148e7f95d33aac01f31282d49e4f44" }, "rstudioapi": { "Package": "rstudioapi", - "Version": "0.15.0", + "Version": "0.16.0", "Source": "Repository", "Repository": "CRAN", - "Hash": "5564500e25cffad9e22244ced1379887" + "Hash": "96710351d642b70e8f02ddeb237c46a7" }, "rvest": { "Package": "rvest", @@ -1593,7 +1592,7 @@ }, "sass": { "Package": "sass", - "Version": "0.4.8", + "Version": "0.4.9", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1603,7 +1602,7 @@ "rappdirs", "rlang" ], - "Hash": "168f9353c76d4c4b0a0bbf72e2c2d035" + "Hash": "d53dbfddf695303ea4ad66f86e99b95d" }, "scales": { "Package": "scales", @@ -1677,14 +1676,14 @@ }, "systemfonts": { "Package": "systemfonts", - "Version": "1.0.5", + "Version": "1.0.6", "Source": "Repository", - "Repository": "RSPM", + "Repository": "carpentries", "Requirements": [ "R", "cpp11" ], - "Hash": "15b594369e70b975ba9f064295983499" + "Hash": "6d538cff441f0f1f36db2209ac7495ac" }, "textshaping": { "Package": "textshaping", @@ -1771,9 +1770,9 @@ }, "tidyselect": { "Package": "tidyselect", - "Version": "1.2.0", + "Version": "1.2.1", "Source": "Repository", - "Repository": "RSPM", + "Repository": "CRAN", "Requirements": [ "R", "cli", @@ -1783,7 +1782,7 @@ "vctrs", "withr" ], - "Hash": "79540e5fcd9e0435af547d885f184fd5" + "Hash": "829f27b9c4919c16b593794a6344d6c0" }, "tidyverse": { "Package": "tidyverse", @@ -1838,13 +1837,13 @@ }, "tinytex": { "Package": "tinytex", - "Version": "0.49", + "Version": "0.50", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "xfun" ], - "Hash": "5ac22900ae0f386e54f1c307eca7d843" + "Hash": "be7a76845222ad20adb761f462eed3ea" }, "tzdb": { "Package": "tzdb", @@ -1941,7 +1940,7 @@ }, "xfun": { "Package": "xfun", - "Version": "0.42", + "Version": "0.43", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1949,7 +1948,7 @@ "stats", "tools" ], - "Hash": "fd1349170df31f7a10bd98b0189e85af" + "Hash": "ab6371d8653ce5f2f9290f4ec7b42a8e" }, "xml2": { "Package": "xml2", From c6b91d461f5c1ee482a34ca92e54a5a53e6ee90b Mon Sep 17 00:00:00 2001 From: zkamvar Date: Tue, 7 May 2024 00:40:17 +0000 Subject: [PATCH 15/17] [actions] update 16 packages --- renv/activate.R | 43 +++++++++++----- renv/profiles/lesson-requirements/renv.lock | 56 ++++++++++----------- 2 files changed, 59 insertions(+), 40 deletions(-) diff --git a/renv/activate.R b/renv/activate.R index 9b2e7f184..d13f9932a 100644 --- a/renv/activate.R +++ b/renv/activate.R @@ -2,11 +2,13 @@ local({ # the requested version of renv - version <- "1.0.5" + version <- "1.0.7" attr(version, "sha") <- NULL # the project directory - project <- getwd() + project <- Sys.getenv("RENV_PROJECT") + if (!nzchar(project)) + project <- getwd() # use start-up diagnostics if enabled diagnostics <- Sys.getenv("RENV_STARTUP_DIAGNOSTICS", unset = "FALSE") @@ -129,6 +131,21 @@ local({ } + heredoc <- function(text, leave = 0) { + + # remove leading, trailing whitespace + trimmed <- gsub("^\\s*\\n|\\n\\s*$", "", text) + + # split into lines + lines <- strsplit(trimmed, "\n", fixed = TRUE)[[1L]] + + # compute common indent + indent <- regexpr("[^[:space:]]", lines) + common <- min(setdiff(indent, -1L)) - leave + paste(substring(lines, common), collapse = "\n") + + } + startswith <- function(string, prefix) { substring(string, 1, nchar(prefix)) == prefix } @@ -631,6 +648,9 @@ local({ # if the user has requested an automatic prefix, generate it auto <- Sys.getenv("RENV_PATHS_PREFIX_AUTO", unset = NA) + if (is.na(auto) && getRversion() >= "4.4.0") + auto <- "TRUE" + if (auto %in% c("TRUE", "True", "true", "1")) return(renv_bootstrap_platform_prefix_auto()) @@ -822,24 +842,23 @@ local({ # the loaded version of renv doesn't match the requested version; # give the user instructions on how to proceed - remote <- if (!is.null(description[["RemoteSha"]])) { + dev <- identical(description[["RemoteType"]], "github") + remote <- if (dev) paste("rstudio/renv", description[["RemoteSha"]], sep = "@") - } else { + else paste("renv", description[["Version"]], sep = "@") - } # display both loaded version + sha if available friendly <- renv_bootstrap_version_friendly( version = description[["Version"]], - sha = description[["RemoteSha"]] + sha = if (dev) description[["RemoteSha"]] ) - fmt <- paste( - "renv %1$s was loaded from project library, but this project is configured to use renv %2$s.", - "- Use `renv::record(\"%3$s\")` to record renv %1$s in the lockfile.", - "- Use `renv::restore(packages = \"renv\")` to install renv %2$s into the project library.", - sep = "\n" - ) + fmt <- heredoc(" + renv %1$s was loaded from project library, but this project is configured to use renv %2$s. + - Use `renv::record(\"%3$s\")` to record renv %1$s in the lockfile. + - Use `renv::restore(packages = \"renv\")` to install renv %2$s into the project library. + ") catf(fmt, friendly, renv_bootstrap_version_friendly(version), remote) FALSE diff --git a/renv/profiles/lesson-requirements/renv.lock b/renv/profiles/lesson-requirements/renv.lock index 31758370b..6e62ef3cc 100644 --- a/renv/profiles/lesson-requirements/renv.lock +++ b/renv/profiles/lesson-requirements/renv.lock @@ -67,13 +67,13 @@ }, "BiocManager": { "Package": "BiocManager", - "Version": "1.30.22", + "Version": "1.30.23", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "utils" ], - "Hash": "d57e43105a1aa9cb54fdb4629725acb1" + "Hash": "47e968dfe563c1b22c2e20a067ec21d5" }, "BiocVersion": { "Package": "BiocVersion", @@ -755,14 +755,14 @@ }, "fs": { "Package": "fs", - "Version": "1.6.3", + "Version": "1.6.4", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "methods" ], - "Hash": "47b5f30c720c23999b913a1a635cf0bb" + "Hash": "15aeb8c27f5ea5161f9f6a641fafd93a" }, "gargle": { "Package": "gargle", @@ -799,7 +799,7 @@ }, "ggplot2": { "Package": "ggplot2", - "Version": "3.5.0", + "Version": "3.5.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -820,7 +820,7 @@ "vctrs", "withr" ], - "Hash": "52ef83f93f74833007f193b2d4c159a2" + "Hash": "44c6a2f8202d5b7e878ea274b1092426" }, "glue": { "Package": "glue", @@ -902,7 +902,7 @@ }, "gtable": { "Package": "gtable", - "Version": "0.3.4", + "Version": "0.3.5", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -913,7 +913,7 @@ "lifecycle", "rlang" ], - "Hash": "b29cf3031f49b04ab9c852c912547eef" + "Hash": "e18861963cbc65a27736e02b3cd3c4a0" }, "haven": { "Package": "haven", @@ -980,7 +980,7 @@ }, "htmltools": { "Package": "htmltools", - "Version": "0.5.8", + "Version": "0.5.8.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -992,7 +992,7 @@ "rlang", "utils" ], - "Hash": "149431ee39aba5bdc264112c8ff94444" + "Hash": "81d371a9cc60640e74e4ab6ac46dcedc" }, "htmlwidgets": { "Package": "htmlwidgets", @@ -1068,7 +1068,7 @@ }, "knitr": { "Package": "knitr", - "Version": "1.45", + "Version": "1.46", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1080,7 +1080,7 @@ "xfun", "yaml" ], - "Hash": "1ec462871063897135c1bcbe0fc8f07d" + "Hash": "6e008ab1d696a5283c79765fa7b56b47" }, "labeling": { "Package": "labeling", @@ -1167,13 +1167,13 @@ }, "matrixStats": { "Package": "matrixStats", - "Version": "1.2.0", + "Version": "1.3.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R" ], - "Hash": "33a3ca9e732b57244d14f5d732ffc9eb" + "Hash": "4b3ea27a19d669c0405b38134d89a9d1" }, "memoise": { "Package": "memoise", @@ -1258,13 +1258,13 @@ }, "openssl": { "Package": "openssl", - "Version": "2.1.1", + "Version": "2.1.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "askpass" ], - "Hash": "2a0dc8c6adfb6f032e4d4af82d258ab5" + "Hash": "ea2475b073243d9d338aa8f086ce973e" }, "patchwork": { "Package": "patchwork", @@ -1382,7 +1382,7 @@ }, "promises": { "Package": "promises", - "Version": "1.2.1", + "Version": "1.3.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1394,7 +1394,7 @@ "rlang", "stats" ], - "Hash": "0d8a15c9d000970ada1ab21405387dee" + "Hash": "434cd5388a3979e74be5c219bcd6e77d" }, "ps": { "Package": "ps", @@ -1424,14 +1424,14 @@ }, "ragg": { "Package": "ragg", - "Version": "1.3.0", + "Version": "1.3.1", "Source": "Repository", "Repository": "carpentries", "Requirements": [ "systemfonts", "textshaping" ], - "Hash": "082e1a198e3329d571f4448ef0ede4bc" + "Hash": "539dcb63ce611fe389b4c8e2b546cf24" }, "rappdirs": { "Package": "rappdirs", @@ -1500,13 +1500,13 @@ }, "renv": { "Package": "renv", - "Version": "1.0.5", + "Version": "1.0.7", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "utils" ], - "Hash": "32c3f93e8360f667ca5863272ec8ba6a" + "Hash": "397b7b2a265bc5a7a06852524dabae20" }, "reprex": { "Package": "reprex", @@ -1639,16 +1639,16 @@ }, "stringi": { "Package": "stringi", - "Version": "1.8.3", + "Version": "1.8.4", "Source": "Repository", - "Repository": "RSPM", + "Repository": "carpentries", "Requirements": [ "R", "stats", "tools", "utils" ], - "Hash": "058aebddea264f4c99401515182e656a" + "Hash": "39e1144fd75428983dc3f63aa53dfa91" }, "stringr": { "Package": "stringr", @@ -1678,7 +1678,7 @@ "Package": "systemfonts", "Version": "1.0.6", "Source": "Repository", - "Repository": "carpentries", + "Repository": "RSPM", "Requirements": [ "R", "cpp11" @@ -1837,13 +1837,13 @@ }, "tinytex": { "Package": "tinytex", - "Version": "0.50", + "Version": "0.51", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "xfun" ], - "Hash": "be7a76845222ad20adb761f462eed3ea" + "Hash": "d44e2fcd2e4e076f0aac540208559d1d" }, "tzdb": { "Package": "tzdb", From 9eeb407143d2b87bf90dcde021e8694a7c7a6406 Mon Sep 17 00:00:00 2001 From: zkamvar Date: Tue, 25 Jun 2024 00:55:12 +0000 Subject: [PATCH 16/17] [actions] update sandpaper workflow to version 0.16.5 --- .github/workflows/README.md | 8 ++++---- .github/workflows/sandpaper-version.txt | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/README.md b/.github/workflows/README.md index d6edf88dd..7076ddd9f 100644 --- a/.github/workflows/README.md +++ b/.github/workflows/README.md @@ -2,7 +2,7 @@ This directory contains workflows to be used for Lessons using the {sandpaper} lesson infrastructure. Two of these workflows require R (`sandpaper-main.yaml` -and `pr-recieve.yaml`) and the rest are bots to handle pull request management. +and `pr-receive.yaml`) and the rest are bots to handle pull request management. These workflows will likely change as {sandpaper} evolves, so it is important to keep them up-to-date. To do this in your lesson you can do the following in your @@ -94,7 +94,7 @@ branch called `update/workflows` and a pull request is created. Maintainers are encouraged to review the changes and accept the pull request if the outputs are okay. -This update is run ~~weekly or~~ on demand. +This update is run weekly or on demand. ### 03 Maintain: Update Package Cache (update-cache.yaml) @@ -140,7 +140,7 @@ Once the checks are finished, a comment is issued to the pull request, which will allow maintainers to determine if it is safe to run the "Receive Pull Request" workflow from new contributors. -### Recieve Pull Request (pr-recieve.yaml) +### Receive Pull Request (pr-receive.yaml) **Note of caution:** This workflow runs arbitrary code by anyone who creates a pull request. GitHub has safeguarded the token used in this workflow to have no @@ -171,7 +171,7 @@ The artifacts produced are used by the next workflow. ### Comment on Pull Request (pr-comment.yaml) -This workflow is triggered if the `pr-recieve.yaml` workflow is successful. +This workflow is triggered if the `pr-receive.yaml` workflow is successful. The steps in this workflow are: 1. Test if the workflow is valid and comment the validity of the workflow to the diff --git a/.github/workflows/sandpaper-version.txt b/.github/workflows/sandpaper-version.txt index 54d1a4f2a..19270385e 100644 --- a/.github/workflows/sandpaper-version.txt +++ b/.github/workflows/sandpaper-version.txt @@ -1 +1 @@ -0.13.0 +0.16.5 From d95c749a405db222dc47fcd3f304056be2c34a0c Mon Sep 17 00:00:00 2001 From: Laurent Gatto Date: Fri, 12 Jul 2024 11:53:10 +0200 Subject: [PATCH 17/17] fix row/col numbers - closes #130 --- episodes/25-starting-with-data.Rmd | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/episodes/25-starting-with-data.Rmd b/episodes/25-starting-with-data.Rmd index 2d89d9ef5..589abc85c 100644 --- a/episodes/25-starting-with-data.Rmd +++ b/episodes/25-starting-with-data.Rmd @@ -204,8 +204,7 @@ questions? ## Solution - class: data frame -- how many rows: 66465, how many columns: 11 - +- how many rows: 32428, how many columns: 19 :::::::::::::::::::::::::