This is an automated email from the ASF dual-hosted git repository.

paleolimbot pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-adbc.git


The following commit(s) were added to refs/heads/main by this push:
     new 52312e597 chore(r): Update CI setup to silence warnings for Go-based 
drivers (#2708)
52312e597 is described below

commit 52312e597075cafef4bdd79bbf59c42aa0849d85
Author: Dewey Dunnington <[email protected]>
AuthorDate: Tue Apr 15 09:14:15 2025 -0500

    chore(r): Update CI setup to silence warnings for Go-based drivers (#2708)
    
    Closes #2707.
    
    This is more likely to be a change in Adbc somewhere since it's showing
    up in all versions. Did we add anything recently that logged anything to
    stderr or called assert or abort?
    
    In the event it can't be avoided (it often can't), we can update the
    warning fail level for go-based drivers since we don't distribute them
    on CRAN.
---
 .github/workflows/r-basic.yml    | 18 ++++++++++++++++--
 .github/workflows/r-check.yml    |  5 +++++
 .github/workflows/r-extended.yml | 35 +++++++++++++++++++++++++----------
 .github/workflows/r-standard.yml | 19 +++++++++++++++++--
 4 files changed, 63 insertions(+), 14 deletions(-)

diff --git a/.github/workflows/r-basic.yml b/.github/workflows/r-basic.yml
index 5320e794e..84b84f6a2 100644
--- a/.github/workflows/r-basic.yml
+++ b/.github/workflows/r-basic.yml
@@ -38,15 +38,29 @@ permissions:
   contents: read
 
 jobs:
-  check:
+  check-c:
     strategy:
       matrix:
         os: [ubuntu]
-        pkg: [adbcdrivermanager, adbcsqlite, adbcpostgresql, adbcflightsql, 
adbcsnowflake]
+        pkg: [adbcdrivermanager, adbcsqlite, adbcpostgresql]
 
     uses: ./.github/workflows/r-check.yml
     with:
       os: ${{ matrix.os }}
       pkg: ${{ matrix.pkg }}
+
+  check-go:
+    strategy:
+      matrix:
+        os: [ubuntu]
+        pkg: [adbcflightsql, adbcsnowflake, adbcbigquery]
+
+    uses: ./.github/workflows/r-check.yml
+    with:
+      os: ${{ matrix.os }}
+      pkg: ${{ matrix.pkg }}
+      # For the r-basic check (that runs on many PRs), just check ERRORs
+      # (e.g., build failure, test failure)
+      error-on: error
     secrets:
       SNOWFLAKE_URI: ${{ secrets.SNOWFLAKE_URI }}
diff --git a/.github/workflows/r-check.yml b/.github/workflows/r-check.yml
index a2799f868..2746bc41f 100644
--- a/.github/workflows/r-check.yml
+++ b/.github/workflows/r-check.yml
@@ -31,6 +31,10 @@ on:
         required: false
         default: release
         type: string
+      error-on:
+        required: false
+        default: warning
+        type: string
     secrets:
       SNOWFLAKE_URI:
         required: false
@@ -100,6 +104,7 @@ jobs:
           R_KEEP_PKG_SOURCE: yes
         with:
           working-directory: r/${{ inputs.pkg }}
+          error-on: '"${{ inputs.error-on }}"'
 
       - name: Shutdown docker compose services
         if: runner.os == 'Linux'
diff --git a/.github/workflows/r-extended.yml b/.github/workflows/r-extended.yml
index 9bd49543e..fc71e6658 100644
--- a/.github/workflows/r-extended.yml
+++ b/.github/workflows/r-extended.yml
@@ -39,12 +39,27 @@ permissions:
 jobs:
 
   # Runs R CMD check on the same platforms/R versions CRAN does
-  cran:
+  cran-c:
     strategy:
       matrix:
         rversion: [oldrel, release, devel]
         os: [macOS, windows, ubuntu]
-        pkg: [adbcdrivermanager, adbcsqlite, adbcpostgresql, adbcflightsql, 
adbcsnowflake, adbcbigquery]
+        pkg: [adbcdrivermanager, adbcsqlite, adbcpostgresql]
+      fail-fast: false
+
+    uses: ./.github/workflows/r-check.yml
+    with:
+      os: ${{ matrix.os }}
+      pkg: ${{ matrix.pkg }}
+      rversion: ${{ matrix.rversion }}
+
+  # Go-based drivers are not distributed on CRAN and are checked with error-on 
error only
+  cran-go:
+    strategy:
+      matrix:
+        rversion: [oldrel, release, devel]
+        os: [macOS, windows, ubuntu]
+        pkg: [adbcflightsql, adbcsnowflake, adbcbigquery]
       fail-fast: false
 
     uses: ./.github/workflows/r-check.yml
@@ -52,16 +67,20 @@ jobs:
       os: ${{ matrix.os }}
       pkg: ${{ matrix.pkg }}
       rversion: ${{ matrix.rversion }}
+      # Go based drivers generate WARNINGs because some symbols
+      # are linked in that R CMD check does not allow.
+      error-on: error
     secrets:
       SNOWFLAKE_URI: ${{ secrets.SNOWFLAKE_URI }}
 
   # Check older versions of R on Linux. This catches accidental use of newer R 
functions.
+  # We don't check Go drivers here because they don't have much R API surface 
area.
   rversions:
     strategy:
       matrix:
         rversion: ["3.6", "4.0", "4.1"]
         os: [ubuntu]
-        pkg: [adbcdrivermanager, adbcsqlite, adbcpostgresql, adbcflightsql, 
adbcsnowflake, adbcbigquery]
+        pkg: [adbcdrivermanager, adbcsqlite, adbcpostgresql]
       fail-fast: false
 
     uses: ./.github/workflows/r-check.yml
@@ -69,18 +88,16 @@ jobs:
       os: ${{ matrix.os }}
       pkg: ${{ matrix.pkg }}
       rversion: ${{ matrix.rversion }}
-    secrets:
-      SNOWFLAKE_URI: ${{ secrets.SNOWFLAKE_URI }}
 
   # Checks on older verions of R on Windows. The Windows build system changed
   # several times so we need to check packages on every version. Go-based
   # drivers aren't supported before 4.2, so we don't check them here.
-  # We don't need to check R 4.1 because the build system for R 4.0 and R 4.1
-  # are the same.
+  # The test dependencies support the released version and the four previous
+  # versions (e.g., 4.1 is the minimum supported version as of R 4.5).
   winrversions:
     strategy:
       matrix:
-        rversion: ["3.6", "4.0"]
+        rversion: ["4.1"]
         os: [windows]
         pkg: [adbcdrivermanager, adbcsqlite, adbcpostgresql]
       fail-fast: false
@@ -90,8 +107,6 @@ jobs:
       os: ${{ matrix.os }}
       pkg: ${{ matrix.pkg }}
       rversion: ${{ matrix.rversion }}
-    secrets:
-      SNOWFLAKE_URI: ${{ secrets.SNOWFLAKE_URI }}
 
   # Runs tests with valgrind. Go does not support valgrind, so we don't run
   # those tests here.
diff --git a/.github/workflows/r-standard.yml b/.github/workflows/r-standard.yml
index 907d77984..d5a49169f 100644
--- a/.github/workflows/r-standard.yml
+++ b/.github/workflows/r-standard.yml
@@ -46,15 +46,30 @@ permissions:
   contents: read
 
 jobs:
-  check:
+  check-c:
     strategy:
       matrix:
         os: [ubuntu, macOS, windows]
-        pkg: [adbcdrivermanager, adbcsqlite, adbcpostgresql, adbcflightsql, 
adbcsnowflake, adbcbigquery]
+        pkg: [adbcdrivermanager, adbcsqlite, adbcpostgresql]
 
     uses: ./.github/workflows/r-check.yml
     with:
       os: ${{ matrix.os }}
       pkg: ${{ matrix.pkg }}
+
+  # Go-based drivers are not distributed on CRAN and are checked with error-on 
error only
+  check-go:
+    strategy:
+      matrix:
+        os: [ubuntu, macOS, windows]
+        pkg: [adbcflightsql, adbcsnowflake, adbcbigquery]
+
+    uses: ./.github/workflows/r-check.yml
+    with:
+      os: ${{ matrix.os }}
+      pkg: ${{ matrix.pkg }}
+      # Go based drivers generate WARNINGs because some symbols
+      # are linked in that R CMD check does not allow.
+      error-on: error
     secrets:
       SNOWFLAKE_URI: ${{ secrets.SNOWFLAKE_URI }}

Reply via email to