Skip to content

Speed up Ubuntu CI with binary arrow/duckdb via r2u - #84

Closed
diraol wants to merge 2 commits into
ipea:mainfrom
diraol:dro/improve_cicd
Closed

Speed up Ubuntu CI with binary arrow/duckdb via r2u#84
diraol wants to merge 2 commits into
ipea:mainfrom
diraol:dro/improve_cicd

Conversation

@diraol

@diraol diraol commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Summary

  • arrow and duckdb have no CRAN binary for every CI matrix cell, so pak (via r-lib/actions/setup-r-dependencies) falls back to compiling libarrow's C++ core and duckdb's bundled amalgamation from source on cold cache — the largest CI time sink.
  • Adds r2u (binary APT layer for CRAN packages) to the ubuntu-24.04 matrix cells in R-CMD-check.yaml, R-CMD-check-CRAN.yaml, and test-coverage.yaml, then pre-installs r-cran-arrow/r-cran-duckdb as apt binaries before setup-r-dependencies runs.
  • pak checks already-installed package versions against DESCRIPTION constraints and skips a package that's already satisfied, so no bspm/pak interception is required — this sidesteps a known pak/bspm incompatibility.
  • Windows/macOS matrix cells are untouched (guarded with if: runner.os == 'Linux'); no changes to R/, DESCRIPTION, or the data-release pin.

Test plan

  • Confirm the new "Setup r2u" / "Install arrow and duckdb" steps succeed on all ubuntu-24.04 cells in the Actions run for this PR
  • Confirm the setup-r-dependencies step log reports arrow/duckdb as already satisfied (not compiled)
  • Confirm R-CMD-check --as-cran still passes 0 errors / 0 warnings
  • Compare job wall-clock time to the previous run on main as a sanity check on the speedup

diraol and others added 2 commits September 7, 2026 18:25
arrow and duckdb have no CRAN binary for every matrix cell, so pak
(via r-lib/actions/setup-r-dependencies) falls back to compiling
libarrow's C++ core and duckdb's bundled amalgamation from source on
every cold cache -- the largest CI time sink. Pre-installing both as
apt binaries via r2u before setup-r-dependencies runs lets pak see
them already satisfied and skip the source build entirely.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XgLB4bj3a47WZziQUU9BiE
Mirrors the CI speedup: point users at pre-compiled arrow/duckdb
binaries via r2u before installing censobr, so they don't have to
compile either package from source on Ubuntu/Debian. Added
identically to README.md and vignettes/censobr.Rmd to keep the two
install sections from drifting apart.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XgLB4bj3a47WZziQUU9BiE
@diraol diraol closed this Sep 7, 2026
@diraol
diraol deleted the dro/improve_cicd branch September 7, 2026 22:00
@diraol

diraol commented Sep 7, 2026

Copy link
Copy Markdown
Contributor Author

Achei que funcionaria, não funcionou.... rs

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.

1 participant