From c81bfb0c1f3884af92f6642d6ad4e1e8c21ffd60 Mon Sep 17 00:00:00 2001 From: Jonathan Keane Date: Sun, 23 Feb 2025 08:40:34 -0600 Subject: [PATCH 1/7] crossbow run From 27b318c8ab5eddcf8e055fa4700077e7fcf0c57c Mon Sep 17 00:00:00 2001 From: Jonathan Keane Date: Sun, 23 Feb 2025 09:32:56 -0600 Subject: [PATCH 2/7] add a clang 20 job --- dev/tasks/r/github.linux.cran.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/dev/tasks/r/github.linux.cran.yml b/dev/tasks/r/github.linux.cran.yml index 8f56bf771d224..a8f04cb3333fa 100644 --- a/dev/tasks/r/github.linux.cran.yml +++ b/dev/tasks/r/github.linux.cran.yml @@ -32,6 +32,7 @@ jobs: - ubuntu-clang # ~ r-devel-linux-x86_64-debian-clang - ubuntu-next # ~ r-patched-linux-x86_64 - ubuntu-release # ~ r-release-linux-x86_64 + - clang20 # ~ r-devel-linux-x86_64-fedora-clang env: R_ORG: "rhub" R_IMAGE: {{ MATRIX }} From 91b04d154612a80c131c3c66f1b93c74647ba25d Mon Sep 17 00:00:00 2001 From: Jonathan Keane Date: Sun, 23 Feb 2025 14:39:54 -0600 Subject: [PATCH 3/7] try without vignettes --- ci/scripts/r_test.sh | 4 +++- dev/tasks/r/github.linux.cran.yml | 20 ++++++++++---------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/ci/scripts/r_test.sh b/ci/scripts/r_test.sh index d5fd78914755e..67142b66dd7fd 100755 --- a/ci/scripts/r_test.sh +++ b/ci/scripts/r_test.sh @@ -91,7 +91,9 @@ export TEXMFVAR=/tmp/texmf-var BEFORE=$(ls -alh ~/) SCRIPT="as_cran <- !identical(tolower(Sys.getenv('NOT_CRAN')), 'true') - if (as_cran) { + # generally will be false, but we can override it by setting SKIP_VIGNETTES=true + skip_vignettes <- identical(tolower(Sys.getenv('SKIP_VIGNETTES')), 'true') + if (as_cran && !skip_vignettes) { args <- '--as-cran' build_args <- character() } else { diff --git a/dev/tasks/r/github.linux.cran.yml b/dev/tasks/r/github.linux.cran.yml index a8f04cb3333fa..9121f4fd1dec4 100644 --- a/dev/tasks/r/github.linux.cran.yml +++ b/dev/tasks/r/github.linux.cran.yml @@ -26,16 +26,16 @@ jobs: strategy: fail-fast: false matrix: - # See https://hub.docker.com/r/rhub - r_image: - - ubuntu-gcc12 # ~ r-devel-linux-x86_64-debian-gcc - - ubuntu-clang # ~ r-devel-linux-x86_64-debian-clang - - ubuntu-next # ~ r-patched-linux-x86_64 - - ubuntu-release # ~ r-release-linux-x86_64 - - clang20 # ~ r-devel-linux-x86_64-fedora-clang + config: + # See https://r-hub.github.io/containers/ + - { r_image: "ubuntu-gcc12" } # ~ r-devel-linux-x86_64-debian-gcc + - { r_image: "ubuntu-clang" } # ~ r-devel-linux-x86_64-debian-clang + - { r_image: "ubuntu-next" } # ~ r-patched-linux-x86_64 + - { r_image: "ubuntu-release" } # ~ r-release-linux-x86_64 + - { r_image: "clang20", skip_vignettes: true } # ~ r-devel-linux-x86_64-fedora-clang env: R_ORG: "rhub" - R_IMAGE: {{ MATRIX }} + R_IMAGE: {{ matrix.config.r_image }} R_TAG: "latest" ARROW_R_DEV: "FALSE" steps: @@ -47,7 +47,7 @@ jobs: env: {{ macros.github_set_sccache_envvars()|indent(8)}} # setting ARROW_SOURCE_HOME='' here ensures that we use the cpp source copied into tools/ - run: archery docker run -e ARROW_SOURCE_HOME='' r + run: archery docker run -e ARROW_SOURCE_HOME='' -e SKIP_VIGNETTES={{ matrix.config.skip_vignettes }} r - name: Dump install logs run: cat arrow/r/check/arrow.Rcheck/00install.out if: always() @@ -58,5 +58,5 @@ jobs: if: always() uses: actions/upload-artifact@v4 with: - name: test-output-{{ "${{ matrix.r_image }}" }} + name: test-output-{{ "${{ matrix.config.r_image }}" }} path: arrow/r/check/arrow.Rcheck/tests/testthat.Rout* From ba39cba204fa408cfbc86fe1fb82377729139e8a Mon Sep 17 00:00:00 2001 From: Jonathan Keane Date: Sun, 23 Feb 2025 14:43:38 -0600 Subject: [PATCH 4/7] one more place --- dev/tasks/r/github.linux.cran.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/tasks/r/github.linux.cran.yml b/dev/tasks/r/github.linux.cran.yml index 9121f4fd1dec4..81c12f65286c3 100644 --- a/dev/tasks/r/github.linux.cran.yml +++ b/dev/tasks/r/github.linux.cran.yml @@ -21,7 +21,7 @@ jobs: as-cran: - name: "rhub/{{ MATRIX }}" + name: "rhub/{{ matrix.config.r_image }}" runs-on: ubuntu-latest strategy: fail-fast: false From 1f5438d5c9a1a9bca8e5069f318b99c5bc4caa9b Mon Sep 17 00:00:00 2001 From: Jonathan Keane Date: Sun, 23 Feb 2025 14:51:26 -0600 Subject: [PATCH 5/7] so template; much annoy --- dev/tasks/r/github.linux.cran.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dev/tasks/r/github.linux.cran.yml b/dev/tasks/r/github.linux.cran.yml index 81c12f65286c3..435e37fc53c46 100644 --- a/dev/tasks/r/github.linux.cran.yml +++ b/dev/tasks/r/github.linux.cran.yml @@ -21,7 +21,7 @@ jobs: as-cran: - name: "rhub/{{ matrix.config.r_image }}" + name: "rhub/{{ '${{ matrix.config.r_image }}' }}" runs-on: ubuntu-latest strategy: fail-fast: false @@ -35,7 +35,7 @@ jobs: - { r_image: "clang20", skip_vignettes: true } # ~ r-devel-linux-x86_64-fedora-clang env: R_ORG: "rhub" - R_IMAGE: {{ matrix.config.r_image }} + R_IMAGE: {{ '${{ matrix.config.r_image }}' }} R_TAG: "latest" ARROW_R_DEV: "FALSE" steps: @@ -47,7 +47,7 @@ jobs: env: {{ macros.github_set_sccache_envvars()|indent(8)}} # setting ARROW_SOURCE_HOME='' here ensures that we use the cpp source copied into tools/ - run: archery docker run -e ARROW_SOURCE_HOME='' -e SKIP_VIGNETTES={{ matrix.config.skip_vignettes }} r + run: archery docker run -e ARROW_SOURCE_HOME='' -e SKIP_VIGNETTES={{ '${{ matrix.config.skip_vignettes }}' }} r - name: Dump install logs run: cat arrow/r/check/arrow.Rcheck/00install.out if: always() From 56c2e9e4405d974e90dec9da2dbbcb89f328593f Mon Sep 17 00:00:00 2001 From: Jonathan Keane Date: Mon, 24 Feb 2025 07:42:14 -0600 Subject: [PATCH 6/7] Remove MATRIX from tasks --- dev/tasks/tasks.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index 781403f3f86d6..9924d26f4bca6 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -1154,8 +1154,6 @@ tasks: test-r-linux-as-cran: ci: github template: r/github.linux.cran.yml - params: - MATRIX: {{ "${{ matrix.r_image }}" }} test-r-macos-as-cran: ci: github From 03c12f1da0086ead985e5bd24e97c2881bd4cd27 Mon Sep 17 00:00:00 2001 From: Jonathan Keane Date: Mon, 24 Feb 2025 07:50:42 -0600 Subject: [PATCH 7/7] Whitespace fix --- cpp/src/arrow/vendored/datetime/README.md | 3 +++ cpp/src/arrow/vendored/datetime/date.h | 8 ++++---- r/src/filesystem.cpp | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/cpp/src/arrow/vendored/datetime/README.md b/cpp/src/arrow/vendored/datetime/README.md index 89132d9cba0f5..4399191b73724 100644 --- a/cpp/src/arrow/vendored/datetime/README.md +++ b/cpp/src/arrow/vendored/datetime/README.md @@ -23,6 +23,9 @@ of the above project. The following changes are made: - fix internal inclusion paths (from "date/xxx.h" to simply "xxx.h") - enclose the `date` namespace inside the `arrow_vendored` namespace +- fix 4 declarations like `CONSTCD11 date::day operator "" _d(unsigned long long d) NOEXCEPT;` + to not have offending whitespace for modern clang: + `CONSTCD11 date::day operator ""_d(unsigned long long d) NOEXCEPT;` ## How to update diff --git a/cpp/src/arrow/vendored/datetime/date.h b/cpp/src/arrow/vendored/datetime/date.h index c17d6f3f7aa54..1b06182a6daa3 100644 --- a/cpp/src/arrow/vendored/datetime/date.h +++ b/cpp/src/arrow/vendored/datetime/date.h @@ -963,8 +963,8 @@ operator<<(std::basic_ostream& os, const year_month_weekday_last& inline namespace literals { -CONSTCD11 date::day operator "" _d(unsigned long long d) NOEXCEPT; -CONSTCD11 date::year operator "" _y(unsigned long long y) NOEXCEPT; +CONSTCD11 date::day operator ""_d(unsigned long long d) NOEXCEPT; +CONSTCD11 date::year operator ""_y(unsigned long long y) NOEXCEPT; } // inline namespace literals #endif // !defined(_MSC_VER) || (_MSC_VER >= 1900) @@ -1972,7 +1972,7 @@ inline namespace literals CONSTCD11 inline date::day -operator "" _d(unsigned long long d) NOEXCEPT +operator ""_d(unsigned long long d) NOEXCEPT { return date::day{static_cast(d)}; } @@ -1980,7 +1980,7 @@ operator "" _d(unsigned long long d) NOEXCEPT CONSTCD11 inline date::year -operator "" _y(unsigned long long y) NOEXCEPT +operator ""_y(unsigned long long y) NOEXCEPT { return date::year(static_cast(y)); } diff --git a/r/src/filesystem.cpp b/r/src/filesystem.cpp index 95f19e4f2f256..d941ce4d3ff23 100644 --- a/r/src/filesystem.cpp +++ b/r/src/filesystem.cpp @@ -258,7 +258,7 @@ std::string fs___SubTreeFileSystem__base_path( // [[arrow::export]] cpp11::writable::list fs___FileSystemFromUri(const std::string& path) { - using cpp11::literals::operator"" _nm; + using cpp11::literals::operator""_nm; std::string out_path; auto io_context = MainRThread::GetInstance().CancellableIOContext();