fix(build): build packages requiring newer R on compatible minors #216
Loading…
Reference in a new issue
No description provided.
Delete branch "t3code/fix-cran-binary-builds"
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?
Packages requiring a newer R than a slot's primary interpreter never reach a compatible secondary build when they are not ABI-sensitive.
Add a targeted pass to the daily updates and weekly full builds that selects current CRAN versions unsupported by the primary R but supported by the running R, including required dependents.
For example,
arulesnow reaches the R 4.5 and 4.6 build passes on a 4.4-primary slot.The pass reads unfiltered CRAN metadata independently of the shared weekly snapshot and its primary-R failure exclusions, prefers ordinary contrib records over R-devel Recommended duplicates, and retains bincraft's ABI routing and per-interpreter error handling.
Weekly workers share the additional work through their existing shards.
Older archive fallback and incompatible-minor index filtering remain outside this change.
Files changed:
.crow/build-all-versions.yaml: run the additional pass across weekly shards..crow/process-updates.yaml: run the additional pass during daily updates.local/build-newer-r.R: select and build compatible current versions, with exclusions, sharding, and a dry-run mode.local/newer-r-helpers.R: evaluate R constraints and propagate incompatibility through required dependencies.local/tests/test-newer-r-helpers.R: cover bounds, dependency closure, cycles, empty inputs, and Recommended duplicates.README.md: document behavior and the dry-run command.justfile: add Air formatting and Jarl lint/fix recipes.Validation: all 137 local test assertions pass,
crow lint .crow/passes, and changed-file pre-commit hooks pass.Live CRAN metadata selects
arulesfor R 4.5.3 and 4.6.1 but not 4.4.3.Repository-wide
prek run -aalso ran; unrelated existing formatting changes were reverted.Production package builds have not run.
Fixes #215.