fix(build): scope the already-attempted skip to the running R minor #187
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/build-all-skip-per-minor"
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?
Motivation
The run meant to close the 4.6 gap on
amd64/resolutebarely built anything:single_buildsrecordsr_versionper attempt —store_build_metadata()both writes and queries it — but the skip query here ignored that column:So a non-primary pass skipped every package the primary pass had already attempted under a different minor.
build-all.R --sensitive-onlyrunning under R 4.6 skipped packages that had only ever been built for 4.5.That is the reason the per-minor slots never fill, and why the backlog cannot be worked off by rebuilding:
amd64/resoluteserves a 4.6 client 22322 packages against the 4.5 slot's 26346.It is also, ultimately, why an R 4.6.1 client got a 4.5-built
rlangandundefined symbol: SETLENGTH. Every other fix in this chain addressed a consequence; this is the cause.Change
Scope the skip to the R minor the pass is running under.
Matched on the
major.minorprefix rather than the fullr_versionstring, so a patch bump (4.6.0 → 4.6.1) does not re-attempt the entire catalogue. Verified the prefix extraction against4.5.3,4.6.0,4.4.3and a bare4.6, and that the derivation matches whatstore_build_metadata()records.Expected effect
The non-primary passes stop skipping wholesale. The first run per slot will be long, since it works off a backlog that has been accumulating for as long as the per-minor slots have existed.
Verification
local/build-all.Rparses.4.6.Mfor a non-primary pass.