feat: R-minor-sensitive binary builds (full + iterative) #84
Loading…
Reference in a new issue
No description provided.
Delete branch "t3code/69b1319c"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Builds R-minor-sensitive CRAN packages once per installed R minor version (into per-minor S3 slots
…/contrib/<x.y>/) and everything else once into the generic slot, driven by bincraft 4.2.0's ABI classifier. Both the full and iterative pipelines are covered.What's in here
Detection / precompute
local/r-minor-helpers.R— pureclassify_from_metadata()(NeedsCompilation / riskyLinkingTo) +parse_build_args(), with unit tests.local/packages-to-build.R— adds a per-packager_minor_sensitiveflag: cheap CRAN-metadata rules first, source download +bincraft::needs_per_minor_recompile()only for the ambiguous compiled subset (fail-safe to sensitive). Classified once per package, applied to all versions.Full build
local/build-all.R— passes the per-rowis_r_minor_sensitiveflag; new--sensitive-onlymode builds just the risky subset..crow/build-all-versions-{amd64,arm64}.yaml— install-deps persists the sensitive subset; build step runs a sensitive-only pass under each non-primary/opt/R/*minor; new step uploads the generic index plus a per-minor index for each minor.Iterative build
.crow/process-updates-*.yaml— primary pass usesr_minor_detection = 'classifier'; a sensitive-only multi-R pass builds risky updates under each other minor; per-minor index upload added.Tooling / housekeeping
v4.1.1→v4.2.0across all workflows; removes the superseded standalonebuild-r-minor-sensitive-packages.yaml.LICENSE.mdand auxiliary shell scripts.docs/superpowers/.Requires before merge
v4.2.0git tag must be pushed on the bincraft repo (codefloe.com/rpkgs/bincraft) — the workflow install steps pin@v4.2.0. The full-build install-deps clonesmain, so it is unaffected.