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

View file

@ -14,9 +14,15 @@
# minor from CI, only `just rebuild` from a workstation with the S3 and Postgres
# credentials to hand. This adds that path.
#
# `build-one.R --sensitive-only` re-runs the ABI classifier per version, so a
# package that turns out not to be risky is skipped rather than written into the
# wrong slot.
# `--sensitive-only` is deliberately NOT passed. That flag gates on the source
# classifier, which misses Rcpp: the repair therefore skipped Rcpp entirely,
# leaving its 4.5-built flat binary as the only copy and breaking every R 4.4
# client on the slot.
#
# 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, and one that does not lands in the
# flat slot. Skipping before the build is what removed that decision.
#
# Trigger with the slot and an explicit package list:
#
@ -207,7 +213,7 @@ steps:
continue
fi
echo "=== rebuilding $$pkg $$ver into $$ABI_R_MINOR ==="
"$$RBIN/Rscript" local/build-one.R --sensitive-only "$$pkg" "$$ver" || rc=1
"$$RBIN/Rscript" local/build-one.R "$$pkg" "$$ver" || rc=1
done
exit $$rc
backend_options: