From 99b117f66f9896a21a75f2ad8e4b275a62126920 Mon Sep 17 00:00:00 2001 From: Hiroaki Yutani Date: Mon, 5 Jun 2023 23:47:36 +0900 Subject: [PATCH 1/8] Empty commit to confirm the breakage From 591f158c17d4487b41812d456a14b9f04e6b90af Mon Sep 17 00:00:00 2001 From: Hiroaki Yutani Date: Mon, 5 Jun 2023 23:51:54 +0900 Subject: [PATCH 2/8] Add -lntdll --- inst/templates/Makevars.win | 2 +- tests/testthat/_snaps/use_extendr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/inst/templates/Makevars.win b/inst/templates/Makevars.win index 43654fbf..e47a9ab2 100644 --- a/inst/templates/Makevars.win +++ b/inst/templates/Makevars.win @@ -3,7 +3,7 @@ TARGET = $(subst 64,x86_64,$(subst 32,i686,$(WIN)))-pc-windows-gnu TARGET_DIR = ./rust/target LIBDIR = $(TARGET_DIR)/$(TARGET)/release STATLIB = $(LIBDIR)/lib{{{lib_name}}}.a -PKG_LIBS = -L$(LIBDIR) -l{{{lib_name}}} -lws2_32 -ladvapi32 -luserenv -lbcrypt +PKG_LIBS = -L$(LIBDIR) -l{{{lib_name}}} -lws2_32 -ladvapi32 -luserenv -lbcrypt -lntdll all: C_clean diff --git a/tests/testthat/_snaps/use_extendr.md b/tests/testthat/_snaps/use_extendr.md index 451bc427..1d30fb2e 100644 --- a/tests/testthat/_snaps/use_extendr.md +++ b/tests/testthat/_snaps/use_extendr.md @@ -84,7 +84,7 @@ TARGET_DIR = ./rust/target LIBDIR = $(TARGET_DIR)/$(TARGET)/release STATLIB = $(LIBDIR)/libtestpkg.a - PKG_LIBS = -L$(LIBDIR) -ltestpkg -lws2_32 -ladvapi32 -luserenv -lbcrypt + PKG_LIBS = -L$(LIBDIR) -ltestpkg -lws2_32 -ladvapi32 -luserenv -lbcrypt -lntdll all: C_clean From adc21094cd485286cf4a3aac90760037b8ae5339 Mon Sep 17 00:00:00 2001 From: Hiroaki Yutani Date: Thu, 8 Jun 2023 16:34:25 +0900 Subject: [PATCH 3/8] Upgrade Rtools --- .github/workflows/R-CMD-check.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 8a6c85be..dbedaef9 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -50,6 +50,10 @@ jobs: r-version: ${{ matrix.config.r }} rtools-version: ${{ matrix.config.rtools-version }} + - name: Install Rtools43 + if: startsWith(runner.os, 'Windows') && matrix.config.r != 'oldrel' + run: choco upgrade rtools + - uses: r-lib/actions/setup-r-dependencies@v2 with: cache-version: 2 From 15647edfd2d89ccbc4435152fe62327bbf44b171 Mon Sep 17 00:00:00 2001 From: Hiroaki Yutani Date: Thu, 8 Jun 2023 22:22:32 +0900 Subject: [PATCH 4/8] Revert "Upgrade Rtools" This reverts commit adc21094cd485286cf4a3aac90760037b8ae5339. --- .github/workflows/R-CMD-check.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index dbedaef9..8a6c85be 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -50,10 +50,6 @@ jobs: r-version: ${{ matrix.config.r }} rtools-version: ${{ matrix.config.rtools-version }} - - name: Install Rtools43 - if: startsWith(runner.os, 'Windows') && matrix.config.r != 'oldrel' - run: choco upgrade rtools - - uses: r-lib/actions/setup-r-dependencies@v2 with: cache-version: 2 From fb7f93eb984ce230b4c4c5516a6ec7c24cc2f47b Mon Sep 17 00:00:00 2001 From: Hiroaki Yutani Date: Thu, 8 Jun 2023 22:29:17 +0900 Subject: [PATCH 5/8] Allow warnings on oldrel --- .github/workflows/R-CMD-check.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 8a6c85be..d354e468 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -56,3 +56,10 @@ jobs: extra-packages: rcmdcheck - uses: r-lib/actions/check-r-package@v2 + if: !(startsWith(runner.os, 'Windows') && matrix.config.r == 'oldrel') + + # TODO: allow warnings on oldrel (cf., https://stat.ethz.ch/pipermail/r-package-devel/2023q2/009229.html) + - uses: r-lib/actions/check-r-package@v2 + if: startsWith(runner.os, 'Windows') && matrix.config.r == 'oldrel' + with: + error-on: '"error"' From 8647c53d7e583ce105c9e4a426ecefe105a43072 Mon Sep 17 00:00:00 2001 From: Hiroaki Yutani Date: Thu, 8 Jun 2023 22:34:13 +0900 Subject: [PATCH 6/8] Fix syntax --- .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 d354e468..d9252757 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -56,7 +56,7 @@ jobs: extra-packages: rcmdcheck - uses: r-lib/actions/check-r-package@v2 - if: !(startsWith(runner.os, 'Windows') && matrix.config.r == 'oldrel') + if: ${{ !(startsWith(runner.os, 'Windows') && matrix.config.r == 'oldrel') }} # TODO: allow warnings on oldrel (cf., https://stat.ethz.ch/pipermail/r-package-devel/2023q2/009229.html) - uses: r-lib/actions/check-r-package@v2 From 5f34a6edf06d35f16257bde03b82d6f5ef474f12 Mon Sep 17 00:00:00 2001 From: Hiroaki Yutani Date: Thu, 8 Jun 2023 22:37:43 +0900 Subject: [PATCH 7/8] Tweak --- .github/workflows/test_pkg_gen.yaml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test_pkg_gen.yaml b/.github/workflows/test_pkg_gen.yaml index e7fe261e..e53f9b6f 100644 --- a/.github/workflows/test_pkg_gen.yaml +++ b/.github/workflows/test_pkg_gen.yaml @@ -99,12 +99,19 @@ jobs: ) Sys.chmod("configure", "0755") + # TODO: allow warnings on oldrel (cf., https://stat.ethz.ch/pipermail/r-package-devel/2023q2/009229.html) + if (identical('${{ startsWith(runner.os, 'Windows') && matrix.config.r == 'oldrel' }}', 'true')) { + error_on <- "error" + } else { + error_on <- "warning" + } + # check if rextendr::document() compiles and generates wrappers properly rextendr::document() rcmdcheck::rcmdcheck( path = ".", args = c("--no-manual", "--as-cran"), - error_on = "warning", + error_on = error_on, check_dir = "check_use_extendr" ) From fa811d29b1a6ed32d8a4a034846259582ee9e9e9 Mon Sep 17 00:00:00 2001 From: Hiroaki Yutani Date: Fri, 9 Jun 2023 08:57:53 +0900 Subject: [PATCH 8/8] Tweak --- .github/workflows/R-CMD-check.yaml | 17 ++++++++++++----- .github/workflows/test_pkg_gen.yaml | 2 +- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index d9252757..423a5bb4 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -55,11 +55,18 @@ jobs: cache-version: 2 extra-packages: rcmdcheck - - uses: r-lib/actions/check-r-package@v2 - if: ${{ !(startsWith(runner.os, 'Windows') && matrix.config.r == 'oldrel') }} - # TODO: allow warnings on oldrel (cf., https://stat.ethz.ch/pipermail/r-package-devel/2023q2/009229.html) + - name: Check R version + id: error-on + run: | + output <- Sys.getenv("GITHUB_OUTPUT") + if (.Platform$OS.type == "windows" && getRversion() < "4.3.0") { + cat('level=error', file = output, append = TRUE) + } else { + cat('level=warning', file = output, append = TRUE) + } + shell: Rscript {0} + - uses: r-lib/actions/check-r-package@v2 - if: startsWith(runner.os, 'Windows') && matrix.config.r == 'oldrel' with: - error-on: '"error"' + error-on: '"${{ steps.error-on.outputs.level }}"' diff --git a/.github/workflows/test_pkg_gen.yaml b/.github/workflows/test_pkg_gen.yaml index e53f9b6f..f2d7e9fd 100644 --- a/.github/workflows/test_pkg_gen.yaml +++ b/.github/workflows/test_pkg_gen.yaml @@ -100,7 +100,7 @@ jobs: Sys.chmod("configure", "0755") # TODO: allow warnings on oldrel (cf., https://stat.ethz.ch/pipermail/r-package-devel/2023q2/009229.html) - if (identical('${{ startsWith(runner.os, 'Windows') && matrix.config.r == 'oldrel' }}', 'true')) { + if (.Platform$OS.type == "windows" && getRversion() < "4.3.0") { error_on <- "error" } else { error_on <- "warning"