Skip to content

chore(r): Update CI setup to silence warnings for Go-based drivers #2708

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Apr 15, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 16 additions & 2 deletions .github/workflows/r-basic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}
5 changes: 5 additions & 0 deletions .github/workflows/r-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ on:
required: false
default: release
type: string
error-on:
required: false
default: warning
type: string
secrets:
SNOWFLAKE_URI:
required: false
Expand Down Expand Up @@ -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'
Expand Down
35 changes: 25 additions & 10 deletions .github/workflows/r-extended.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,48 +39,65 @@ 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
with:
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
with:
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
Expand All @@ -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.
Expand Down
19 changes: 17 additions & 2 deletions .github/workflows/r-standard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}
Loading