fix(build-all): exclude previously-errored versions in prefilter #113
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/prefilter-errored-versions"
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
Build jobs were cycling through hundreds of packages that were only ever printed as
Skipping … due to previous build error recorded in metadata DB, wasting wall-clock on per-package preparation before dropping each one.Cause
The prefilter query in
local/build-all.Rselected only successfully-built versions (error_occurred = FALSE) intobuilt, so line 112 removed only those from the chunk.Every previously-errored version stayed in the work list and was walked one-by-one, each hitting the internal skip in
build_binary_package().This also explains the misleading
Skipped 0 already-built package versionsline for alphabetical chunks whose leading packages only have error records.Changes
local/build-all.R: drop theAND error_occurred = FALSEclause sobuiltholds every version already attempted (built or errored) for this platform/arch; the existing filter then removes all of them up front.already-attemptedso the reported count reflects successes and errors.Behaviour change
Previously-errored versions are now dropped before the build loop instead of being iterated and individually skipped.
No package that would otherwise build is affected,
build_binary_package()already skipped these internally.Retrying errored versions is out of scope and would need a separate opt-in flag on both the prefilter and the in-loop skip.