Skip to content

Conversation

@eitsupi
Copy link
Contributor

@eitsupi eitsupi commented Dec 17, 2025

Related to #3789 and #3790

Looking at the logs, it seems that the current CI was using adbcdrivermanager installed from CRAN, and testing of the latest driver and driver manager combinations had not been performed.
This PR will make a change to ensure that adbcdrivermanager is installed locally.

This required a minor change to prevent the bootstrap.R script from failing with pak::pkg_install("local::.") or something else.

We can check the driver manager version via the logs of the r-lib/actions/setup-r-dependencies step.

Before:

  ─ Session info ───────────────────────────────────────────────────────────────
   setting  value
   version  R version 4.5.2 (2025-10-31)
   os       Ubuntu 24.04.3 LTS
   system   x86_64, linux-gnu
   ui       X11
   language (EN)
   collate  C.UTF-8
   ctype    C.UTF-8
   tz       UTC
   date     2025-12-17
   pandoc   NA
   quarto   NA
  
  ─ Packages ───────────────────────────────────────────────────────────────────
   package           * version date (UTC) lib source
   adbcdrivermanager   0.21.0  2025-11-20 [1] RSPM
   base              * 4.5.2   2025-10-31 [3] local

After this change:

  ─ Session info ───────────────────────────────────────────────────────────────
   setting  value
   version  R version 4.5.2 (2025-10-31)
   os       Ubuntu 24.04.3 LTS
   system   x86_64, linux-gnu
   ui       X11
   language (EN)
   collate  C.UTF-8
   ctype    C.UTF-8
   tz       UTC
   date     2025-12-17
   pandoc   NA
   quarto   NA
  
  ─ Packages ───────────────────────────────────────────────────────────────────
   package           * version     date (UTC) lib source
   adbcdrivermanager   0.21.0.9000 2025-12-17 [1] local
   base              * 4.5.2       2025-10-31 [3] local

@eitsupi
Copy link
Contributor Author

eitsupi commented Dec 17, 2025

When I reverted the changes made by #3790 (e42eff2), I was able to confirm that, as intended, this change caused the test failures pointed out by #3789 to occur in CI.

 ══ Failed tests ════════════════════════════════════════════════════════════════
── Error ('test-adbcsqlite-package.R:108:3'): write_adbc() with temporary = TRUE works with sqlite databases ──
<adbc_status_invalid_argument/adbc_status/simpleError/error/condition>
Error in `adbc_database_set_options(database, options)`: INVALID_ARGUMENT: [Driver Manager] Invalid URI: missing scheme
Backtrace:
    ▆
 1. ├─adbcdrivermanager::adbc_database_init(adbcsqlite(), uri = temp_db) at test-adbcsqlite-package.R:108:3
 2. └─adbcsqlite:::adbc_database_init.adbcsqlite_driver_sqlite(...)
 3.   └─adbcdrivermanager::adbc_database_init_default(...) at adbcsqlite/R/adbcsqlite-package.R:56:3
 4.     ├─adbcdrivermanager::with_adbc(...)
 5.     │ └─base::force(code)
 6.     └─adbcdrivermanager::adbc_database_set_options(database, options)
 7.       └─adbcdrivermanager:::stop_for_error(status, error)
── Error ('test-adbcsqlite-package.R:137:3'): write_adbc() supports mode replace/create_append ──
<adbc_status_internal/adbc_status/simpleError/error/condition>
Error in `adbc_statement_execute_query(stmt)`: INTERNAL: failed to execute: table "df" already exists
query was: CREATE TABLE main . "df" ("mpg" REAL, "cyl" REAL, "disp" REAL, "hp" REAL, "drat" REAL, "wt" REAL, "qsec" REAL, "vs" REAL, "am" REAL, "gear" REAL, "carb" REAL)
Backtrace:
    ▆
 1. ├─adbcdrivermanager::write_adbc(mtcars, con, "df") at test-adbcsqlite-package.R:137:3
 2. └─adbcdrivermanager:::write_adbc.default(mtcars, con, "df")
 3.   └─adbcdrivermanager::adbc_statement_execute_query(stmt)
 4.     └─adbcdrivermanager:::stop_for_error(result$status, error)

[ FAIL 2 | WARN 0 | SKIP 0 | PASS 9 ]

https://github.com/apache/arrow-adbc/actions/runs/20307485536/job/58328893736?pr=3817

@eitsupi eitsupi marked this pull request as ready for review December 17, 2025 15:16
@github-actions github-actions bot added this to the ADBC Libraries 22 milestone Dec 17, 2025
@paleolimbot
Copy link
Member

Thank you for this!

For check-go I see:

go: go.mod requires go >= 1.25.0 (running go 1.24.11; GOTOOLCHAIN=local)

and

Warning: go-version input was not specified. The action will try to use pre-installed version.

Something is awry here:

- name: Get required Go version
run: |
(. .env && echo "GO_VERSION=${GO}") >> $GITHUB_ENV
- uses: actions/setup-go@v6
with:
go-version: "${{ env.GO_VERSION }}"

@eitsupi
Copy link
Contributor Author

eitsupi commented Dec 17, 2025

Something is awry here:

Maybe #3818

@eitsupi eitsupi changed the title ci(r): Ensure testing with the local version of driver manager instead of the cran version ci(r): ensure testing with the local version of driver manager instead of the cran version Dec 17, 2025
@paleolimbot paleolimbot merged commit 7c9e578 into apache:main Dec 18, 2025
29 checks passed
@eitsupi eitsupi deleted the more-r-test branch December 18, 2025 10:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants