From 6ad82fa0a87f104a1b55f520d9d4adcc1b86702f Mon Sep 17 00:00:00 2001 From: Michael Chirico Date: Thu, 23 Jul 2026 18:30:00 +0000 Subject: [PATCH 1/8] Gemini: handle _R_CHECK_DEPENDS_ONLY_ correctly for other.Rraw --- .github/workflows/R-CMD-check-occasional.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/R-CMD-check-occasional.yaml b/.github/workflows/R-CMD-check-occasional.yaml index 68fadd0c1..3c917b269 100644 --- a/.github/workflows/R-CMD-check-occasional.yaml +++ b/.github/workflows/R-CMD-check-occasional.yaml @@ -1,4 +1,5 @@ on: + push: schedule: - cron: '17 13 23 * *' # 23rd of month at 13:17 UTC workflow_dispatch: @@ -85,6 +86,7 @@ jobs: _R_CHECK_FORCE_SUGGESTS_: false _R_CHECK_CRAN_INCOMING_REMOTE_: false _R_CHECK_TESTS_NLINES_: 0 + _R_CHECK_DEPENDS_ONLY_: false run: | options(crayon.enabled = TRUE) message("*** Using the following repos for installation ***") @@ -108,7 +110,8 @@ jobs: message("Will try and set TEST_DATA_TABLE_WITH_OTHER_PACKAGES=", as.character(run_other), " in R CMD check.") # IINM rcmdcheck isolates its env from the calling process', besides what's passed to env= env = c( - TEST_DATA_TABLE_WITH_OTHER_PACKAGES=as.character(run_other) + TEST_DATA_TABLE_WITH_OTHER_PACKAGES=as.character(run_other), + "_R_CHECK_DEPENDS_ONLY_"="false" ) do_vignettes = requireNamespace("litedown", quietly=TRUE) From d08365e65d0878380ebb085cb583cbc552bb7ceb Mon Sep 17 00:00:00 2001 From: Michael Chirico Date: Thu, 23 Jul 2026 18:34:56 +0000 Subject: [PATCH 2/8] remove extraneous " --- .github/workflows/R-CMD-check-occasional.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/R-CMD-check-occasional.yaml b/.github/workflows/R-CMD-check-occasional.yaml index 3c917b269..bf9375aa1 100644 --- a/.github/workflows/R-CMD-check-occasional.yaml +++ b/.github/workflows/R-CMD-check-occasional.yaml @@ -111,7 +111,7 @@ jobs: # IINM rcmdcheck isolates its env from the calling process', besides what's passed to env= env = c( TEST_DATA_TABLE_WITH_OTHER_PACKAGES=as.character(run_other), - "_R_CHECK_DEPENDS_ONLY_"="false" + _R_CHECK_DEPENDS_ONLY_="false" ) do_vignettes = requireNamespace("litedown", quietly=TRUE) From 6d33d385ceda151b746323b19b1414d4621e1a08 Mon Sep 17 00:00:00 2001 From: Michael Chirico Date: Thu, 23 Jul 2026 19:34:40 +0000 Subject: [PATCH 3/8] not so extraneous after all... should be ` anyway --- .github/workflows/R-CMD-check-occasional.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/R-CMD-check-occasional.yaml b/.github/workflows/R-CMD-check-occasional.yaml index bf9375aa1..77b114fee 100644 --- a/.github/workflows/R-CMD-check-occasional.yaml +++ b/.github/workflows/R-CMD-check-occasional.yaml @@ -111,7 +111,7 @@ jobs: # IINM rcmdcheck isolates its env from the calling process', besides what's passed to env= env = c( TEST_DATA_TABLE_WITH_OTHER_PACKAGES=as.character(run_other), - _R_CHECK_DEPENDS_ONLY_="false" + `_R_CHECK_DEPENDS_ONLY_`="false" ) do_vignettes = requireNamespace("litedown", quietly=TRUE) From fd8a315b9d777758f90ffa583f347985afdf3727 Mon Sep 17 00:00:00 2001 From: Michael Chirico Date: Thu, 23 Jul 2026 20:26:01 +0000 Subject: [PATCH 4/8] Gemini: --as-cran always does the sandbox thing, so edit DESCRIPTION instead --- .github/workflows/R-CMD-check-occasional.yaml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/R-CMD-check-occasional.yaml b/.github/workflows/R-CMD-check-occasional.yaml index 77b114fee..f75da356a 100644 --- a/.github/workflows/R-CMD-check-occasional.yaml +++ b/.github/workflows/R-CMD-check-occasional.yaml @@ -86,7 +86,6 @@ jobs: _R_CHECK_FORCE_SUGGESTS_: false _R_CHECK_CRAN_INCOMING_REMOTE_: false _R_CHECK_TESTS_NLINES_: 0 - _R_CHECK_DEPENDS_ONLY_: false run: | options(crayon.enabled = TRUE) message("*** Using the following repos for installation ***") @@ -108,10 +107,14 @@ jobs: message(sprintf("Skipping other.Rraw since some required packages are not available: %s\n", toString(other_pkgs[!has_other_pkg]))) } message("Will try and set TEST_DATA_TABLE_WITH_OTHER_PACKAGES=", as.character(run_other), " in R CMD check.") + if (run_other) { + desc = read.dcf("DESCRIPTION") + desc[1, "Suggests"] = paste(c(desc[1, "Suggests"], other_pkgs), collapse = ", ") + write.dcf(desc, "DESCRIPTION") + } # IINM rcmdcheck isolates its env from the calling process', besides what's passed to env= env = c( - TEST_DATA_TABLE_WITH_OTHER_PACKAGES=as.character(run_other), - `_R_CHECK_DEPENDS_ONLY_`="false" + TEST_DATA_TABLE_WITH_OTHER_PACKAGES=as.character(run_other) ) do_vignettes = requireNamespace("litedown", quietly=TRUE) From 95251da642d919577a467454f58bdeb12a234a9d Mon Sep 17 00:00:00 2001 From: Michael Chirico Date: Thu, 23 Jul 2026 20:41:02 +0000 Subject: [PATCH 5/8] Gemini: resolve absence on macOS --- .github/workflows/R-CMD-check-occasional.yaml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/R-CMD-check-occasional.yaml b/.github/workflows/R-CMD-check-occasional.yaml index f75da356a..c2ff86e43 100644 --- a/.github/workflows/R-CMD-check-occasional.yaml +++ b/.github/workflows/R-CMD-check-occasional.yaml @@ -76,9 +76,17 @@ jobs: sudo apt-get update sudo apt-get install -y libcurl4-openssl-dev libudunits2-dev libgdal-dev libgeos-dev libproj-dev pandoc + - name: Install R Package Build Dependencies on MacOS + if: matrix.os == 'macOS-latest' + uses: r-hub/actions/setup-r-sysreqs@v1 + with: + type: 'minimal' + - name: Install check dependencies (macOS) if: matrix.os == 'macOS-latest' - run: brew install gdal proj + run: | + brew install gdal proj gettext + brew link --force gettext - name: Check env: From 0fbd9add4bd50f9273223781adb7a5e61012f0cd Mon Sep 17 00:00:00 2001 From: chiricom Date: Thu, 23 Jul 2026 22:55:23 +0000 Subject: [PATCH 6/8] Use toString, unique --- .github/workflows/R-CMD-check-occasional.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/R-CMD-check-occasional.yaml b/.github/workflows/R-CMD-check-occasional.yaml index c2ff86e43..63ac719e2 100644 --- a/.github/workflows/R-CMD-check-occasional.yaml +++ b/.github/workflows/R-CMD-check-occasional.yaml @@ -117,7 +117,7 @@ jobs: message("Will try and set TEST_DATA_TABLE_WITH_OTHER_PACKAGES=", as.character(run_other), " in R CMD check.") if (run_other) { desc = read.dcf("DESCRIPTION") - desc[1, "Suggests"] = paste(c(desc[1, "Suggests"], other_pkgs), collapse = ", ") + desc[1L, "Suggests"] = toString(unique(c(desc[1, "Suggests"], other_pkgs))) write.dcf(desc, "DESCRIPTION") } # IINM rcmdcheck isolates its env from the calling process', besides what's passed to env= From 4ea5ab5bf3a718dfad0868100b46d7ea4bff81a1 Mon Sep 17 00:00:00 2001 From: chiricom Date: Fri, 24 Jul 2026 22:58:52 +0000 Subject: [PATCH 7/8] annotate job with locale --- .github/workflows/R-CMD-check-occasional.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/R-CMD-check-occasional.yaml b/.github/workflows/R-CMD-check-occasional.yaml index 63ac719e2..95d240c9f 100644 --- a/.github/workflows/R-CMD-check-occasional.yaml +++ b/.github/workflows/R-CMD-check-occasional.yaml @@ -11,7 +11,7 @@ jobs: R-CMD-check-occasional: runs-on: ${{ matrix.os }} - name: ${{ matrix.os }} (${{ matrix.r }}) + name: ${{ matrix.os }} (${{ matrix.r }}, ${{ matrix.locale }}) strategy: fail-fast: false From 2e08b5fc6be0d1fb76bee81192876eb91745027f Mon Sep 17 00:00:00 2001 From: chiricom Date: Mon, 27 Jul 2026 18:09:46 +0000 Subject: [PATCH 8/8] Gemini: Correct handling of error branch FALSE || integer() gives NA; grep() was never right to use. I'm not sure if res could ever have length()>1, but doesn't hurt --- .github/workflows/R-CMD-check-occasional.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/R-CMD-check-occasional.yaml b/.github/workflows/R-CMD-check-occasional.yaml index 95d240c9f..b578e5374 100644 --- a/.github/workflows/R-CMD-check-occasional.yaml +++ b/.github/workflows/R-CMD-check-occasional.yaml @@ -142,7 +142,7 @@ jobs: dt_tar = list.files(pattern = "^data[.]table_.*[.]tar[.]gz$") if (!length(dt_tar)) stop("Built tar.gz not found among: ", toString(list.files())) res = system2(Rbin, c("CMD", "check", dt_tar[1L], check_args), stdout=TRUE, stderr=TRUE, env=sprintf("%s=%s", names(env), env)) - if (!is.null(attr(res, "status")) || is.na(res) || grep("^Status:.*(ERROR|WARNING)", res)) { + if (!is.null(attr(res, "status")) || anyNA(res) || any(grepl("^Status:.*(ERROR|WARNING)", res))) { writeLines(as.character(res)) stop("R CMD check failed") }