From 7bca41decee3b6edcb21523c74f774b359d5a290 Mon Sep 17 00:00:00 2001 From: Valentine Rahier Date: Tue, 13 Oct 2026 11:03:57 +0200 Subject: [PATCH 1/8] add tests to check deparse in SticsRPacks dependencies --- tests/testthat/test-dependencies.R | 51 ++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 tests/testthat/test-dependencies.R diff --git a/tests/testthat/test-dependencies.R b/tests/testthat/test-dependencies.R new file mode 100644 index 0000000..6ceeece --- /dev/null +++ b/tests/testthat/test-dependencies.R @@ -0,0 +1,51 @@ +test_that("all functions in SticsOnR can be deparsed by rlang", { + ns <- asNamespace("SticsOnR") + fns <- Filter(is.function, mget(ls(ns, all.names = TRUE), envir = ns)) + bad <- names(Filter(function(f) { + inherits(try(rlang::expr_deparse(body(f)), silent = TRUE), "try-error") + }, fns)) + expect( + length(bad) == 0, + paste0("Functions that cannot be deparsed:\n", + paste0(" - ", names(bad), " : ", bad, collapse = "\n")) + ) +}) + +test_that("all functions in CroPlotR can be deparsed by rlang", { + ns <- asNamespace("CroPlotR") + fns <- Filter(is.function, mget(ls(ns, all.names = TRUE), envir = ns)) + bad <- names(Filter(function(f) { + inherits(try(rlang::expr_deparse(body(f)), silent = TRUE), "try-error") + }, fns)) + expect( + length(bad) == 0, + paste0("Functions that cannot be deparsed:\n", + paste0(" - ", names(bad), " : ", bad, collapse = "\n")) + ) +}) + +test_that("all functions in SticsRFiles can be deparsed by rlang", { + ns <- asNamespace("SticsRFiles") + fns <- Filter(is.function, mget(ls(ns, all.names = TRUE), envir = ns)) + bad <- names(Filter(function(f) { + inherits(try(rlang::expr_deparse(body(f)), silent = TRUE), "try-error") + }, fns)) + expect( + length(bad) == 0, + paste0("Functions that cannot be deparsed:\n", + paste0(" - ", names(bad), " : ", bad, collapse = "\n")) + ) +}) + +test_that("all functions in CroptimizR can be deparsed by rlang", { + ns <- asNamespace("CroptimizR") + fns <- Filter(is.function, mget(ls(ns, all.names = TRUE), envir = ns)) + bad <- names(Filter(function(f) { + inherits(try(rlang::expr_deparse(body(f)), silent = TRUE), "try-error") + }, fns)) + expect( + length(bad) == 0, + paste0("Functions that cannot be deparsed:\n", + paste0(" - ", names(bad), " : ", bad, collapse = "\n")) + ) +}) \ No newline at end of file From db47f500cde130b75da89fee5310a32ad40a48d6 Mon Sep 17 00:00:00 2001 From: Valentine Rahier Date: Tue, 13 Oct 2026 11:21:54 +0200 Subject: [PATCH 2/8] remove forced install of testthat 3.1.8 --- .github/workflows/R-CMD-check.yaml | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 2de6cbc..8071036 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -129,15 +129,6 @@ jobs: dependencies = FALSE, upgrade = "never" ) - # Ensure testthat is exactly 3.1.8 - required_testthat <- package_version("3.1.8") - testthat_ok <- requireNamespace("testthat", quietly = TRUE) && - packageVersion("testthat") == required_testthat - - if (!testthat_ok) { - install.packages('ellipsis') - install.packages('https://cran.r-project.org/src/contrib/Archive/testthat/testthat_3.1.8.tar.gz', repos = NULL, type = 'source') - } shell: Rscript {0} - name: Check @@ -159,5 +150,5 @@ jobs: if: failure() uses: actions/upload-artifact@main with: - name: ${{ runner.os }}-r${{ matrix.config.r }}-results + name: ${{ runner.os }}-${{ matrix.config.r }}-results path: check From d10dc77cd9658e1eca7e9c07539bd3c73d2e31f7 Mon Sep 17 00:00:00 2001 From: Valentine Rahier Date: Tue, 13 Oct 2026 11:39:46 +0200 Subject: [PATCH 3/8] fix dependencies install --- .github/workflows/R-CMD-check.yaml | 77 +++++++----------------------- 1 file changed, 17 insertions(+), 60 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 8071036..b99c3ed 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -70,66 +70,23 @@ jobs: - name: Set up R dependencies uses: r-lib/actions/setup-r-dependencies@v2 with: - packages: any::sessioninfo - dependencies: '"all"' - pak-version: rc - extra-packages: | - any::BayesianTools - any::cli - any::crayon - any::curl - any::data.table - any::doParallel - any::dplyr - any::foreach - any::ggh4x - any::ggplot2 - any::ggrepel - any::gridExtra - any::knitr - any::learnr - any::lhs - any::lifecycle - any::lubridate - any::magrittr - any::Matrix - any::nloptr - any::plyr - any::purrr - any::rcmdcheck - any::readxl - any::remotes - any::reshape2 - any::rlang - any::rstudioapi - any::semver - any::sessioninfo - any::testthat - any::tibble - any::tictoc - any::tidyr - any::tidyselect - any::xfun - any::XML - any::xml2 - any::xslt - SticsRPacks/SticsRFiles@main - SticsRPacks/CroPlotR@main - SticsRPacks/SticsOnR@main - - - name: Install CroptimizR and SticsRPacks - run: | - remotes::install_github( - "SticsRPacks/CroptimizR@main", - dependencies = FALSE, - upgrade = "never" - ) - remotes::install_github( - "SticsRPacks/SticsRPacks@main", - dependencies = FALSE, - upgrade = "never" - ) - shell: Rscript {0} + extra-packages: any::rcmdcheck + needs: check + + +# - name: Install CroptimizR and SticsRPacks +# run: | +# remotes::install_github( +# "SticsRPacks/CroptimizR@main", +# dependencies = FALSE, +# upgrade = "never" +# ) +# remotes::install_github( +# "SticsRPacks/SticsRPacks@main", +# dependencies = FALSE, +# upgrade = "never" +# ) +# shell: Rscript {0} - name: Check env: From cd54c6e0e639042d7d9c87a143a5a49f7c953463 Mon Sep 17 00:00:00 2001 From: Valentine Rahier Date: Tue, 13 Oct 2026 11:50:58 +0200 Subject: [PATCH 4/8] fix dependencies install --- .github/workflows/R-CMD-check.yaml | 50 ++++++++++++++++++------------ DESCRIPTION | 11 +++---- 2 files changed, 36 insertions(+), 25 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index b99c3ed..fe7aada 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -67,26 +67,38 @@ jobs: - uses: r-lib/actions/setup-pandoc@v2 - - name: Set up R dependencies - uses: r-lib/actions/setup-r-dependencies@v2 + - uses: r-lib/actions/setup-r-dependencies@v2 with: - extra-packages: any::rcmdcheck - needs: check - - -# - name: Install CroptimizR and SticsRPacks -# run: | -# remotes::install_github( -# "SticsRPacks/CroptimizR@main", -# dependencies = FALSE, -# upgrade = "never" -# ) -# remotes::install_github( -# "SticsRPacks/SticsRPacks@main", -# dependencies = FALSE, -# upgrade = "never" -# ) -# shell: Rscript {0} + dependencies: '"hard"' + extra-packages: | + any::rcmdcheck + any::sessioninfo + any::remotes + any::BayesianTools + any::ggplot2 + any::lubridate + any::readxl + any::tidyr + any::nloptr + any::lhs + any::tictoc + any::learnr + any::purrr + any::cli + any::crayon + any::tibble + any::rlang + any::magrittr + any::rstudioapi + any::lifecycle + + - name: Install CroptimizR et SticsRPacks (@main, sans dépendances) + run: | + remotes::install_github("SticsRPacks/CroptimizR@main", dependencies = FALSE, upgrade = "never") + remotes::install_github("SticsRPacks/SticsRPacks@main", dependencies = FALSE, upgrade = "never") + shell: Rscript {0} + env: + GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} - name: Check env: diff --git a/DESCRIPTION b/DESCRIPTION index 067a87a..b07cd0a 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -18,21 +18,20 @@ License: file LICENSE Encoding: UTF-8 LazyData: true Imports: - SticsRPacks, SticsRFiles, SticsOnR, - CroptimizR, CroPlotR, dplyr, xfun, knitr, testthat -Remotes: +Suggests: + SticsRPacks, + CroptimizR +Remotes: github::SticsRPacks/SticsRFiles@main, github::SticsRPacks/CroPlotR@main, - github::SticsRPacks/CroptimizR@main, - github::SticsRPacks/SticsOnR@main, - github::SticsRPacks/SticsRPacks@main, + github::SticsRPacks/SticsOnR@main Roxygen: list(markdown = TRUE) SystemRequirements: Java 8 BinaryFiles: From 27fbfb4b34a3090b13641741543fe623d1bf9281 Mon Sep 17 00:00:00 2001 From: Valentine Rahier Date: Tue, 13 Oct 2026 13:30:30 +0200 Subject: [PATCH 5/8] testing fixed sticsonr and croplotr --- .github/workflows/R-CMD-check.yaml | 6 +++++- DESCRIPTION | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index fe7aada..9740992 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -92,7 +92,11 @@ jobs: any::rstudioapi any::lifecycle - - name: Install CroptimizR et SticsRPacks (@main, sans dépendances) + - name: Install CroptimizR and SticsRPacks + # Installed outside pak: their Remotes pin SticsRPacks deps to @*release, + # which conflicts with the @main versions tested here. Their CRAN deps are + # listed manually in `extra-packages`. + run: | remotes::install_github("SticsRPacks/CroptimizR@main", dependencies = FALSE, upgrade = "never") remotes::install_github("SticsRPacks/SticsRPacks@main", dependencies = FALSE, upgrade = "never") diff --git a/DESCRIPTION b/DESCRIPTION index b07cd0a..28b6c72 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -30,8 +30,8 @@ Suggests: CroptimizR Remotes: github::SticsRPacks/SticsRFiles@main, - github::SticsRPacks/CroPlotR@main, - github::SticsRPacks/SticsOnR@main + github::SticsRPacks/CroPlotR@vrahier/fix-next, + github::SticsRPacks/SticsOnR@vrahier/fix-next Roxygen: list(markdown = TRUE) SystemRequirements: Java 8 BinaryFiles: From 630c308c74789105325c40501642817a3a991ede Mon Sep 17 00:00:00 2001 From: Valentine Rahier Date: Tue, 13 Oct 2026 14:20:00 +0200 Subject: [PATCH 6/8] fix artefact cleaning --- .github/workflows/R-CMD-check.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 9740992..7af7866 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -115,9 +115,10 @@ jobs: run: find . -name testthat.Rout -exec cat '{}' ';' - name: Remove unwanted directories from check artifacts + shell: bash run: | - Remove-Item -Recurse -Force check/*/SticsRTests - Remove-Item -Recurse -Force check/*/00_pkg_src + rm -rf check/*/SticsRTests + rm -rf check/*/00_pkg_src - name: Upload check results if: failure() From cf6e292ab4ebe33642120442ea6f387305b5d4b8 Mon Sep 17 00:00:00 2001 From: Valentine Rahier Date: Tue, 13 Oct 2026 14:45:41 +0200 Subject: [PATCH 7/8] reactivate windows check --- .github/workflows/R-CMD-check.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 7af7866..17cd217 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -24,7 +24,7 @@ jobs: fail-fast: false matrix: config: - #- {os: windows-latest, r: 'release'} + - { os: windows-latest, r: 'release' } - { os: ubuntu-latest, r: "release", From 435cd72e6ef0cda4abf9daaa4778aef234566f84 Mon Sep 17 00:00:00 2001 From: Valentine Rahier Date: Tue, 13 Oct 2026 15:18:06 +0200 Subject: [PATCH 8/8] use main --- DESCRIPTION | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 28b6c72..b07cd0a 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -30,8 +30,8 @@ Suggests: CroptimizR Remotes: github::SticsRPacks/SticsRFiles@main, - github::SticsRPacks/CroPlotR@vrahier/fix-next, - github::SticsRPacks/SticsOnR@vrahier/fix-next + github::SticsRPacks/CroPlotR@main, + github::SticsRPacks/SticsOnR@main Roxygen: list(markdown = TRUE) SystemRequirements: Java 8 BinaryFiles: