fix(ci): do not gate the targeted repair on the source classifier #205

Merged
pat-s merged 1 commit from fix/repair-must-not-gate-on-source-classifier into main 2026-09-07 06:20:04 +00:00

2026-09-05

fix(ci): do not gate the targeted repair on the source classifier
rebuild-abi-gap ran build-one.R with --sensitive-only, which skips a version the
source classifier does not call r-minor-sensitive. That classifier misses Rcpp,
so the repair skipped it on every slot, leaving its 4.5-built flat binary as the
only copy:

  flat   200  built under R 4.5.3
  4.4/   404   4.5/  404   4.6/  404

Every R 4.4 client on those slots then failed at dyn.load(). A real install
check across 8 slots and 3 minors found 44 such failures, Rcpp, Matrix and
RJSONIO among them.

Since bincraft v5.3.0 the destination is decided by the built binary's symbols
in upload_single_binary(), so building unconditionally is safe: a package that
needs a per-minor slot lands there, one that does not lands in the flat slot.
Skipping before the build is precisely what removed that decision.
2026-09-05 17:09:59 +00:00