diff --git a/.crow/rebuild-abi-gap.yaml b/.crow/rebuild-abi-gap.yaml index d346adf..289781d 100644 --- a/.crow/rebuild-abi-gap.yaml +++ b/.crow/rebuild-abi-gap.yaml @@ -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: