fix(build): scope the errored-package filter to the snapshot's R minor #194
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/scope-errored-packages-by-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?
Why
After #192 and #193 the builds stopped recompiling what they already had, but every slot still showed a per-minor gap that a successful run did not close:
amd64/alpine324 had just completed successfully, yet 655 ABI-risky packages were still absent from its 4.6 index. Sampling 25 of them against that run's log:
They were filtered out before the build loop. The candidate list drops every package with an error row for this platform/arch:
There is no
r_versionin that predicate, and the row is keyed by(name, tag, platform, arch)only. So a single failure under one minor cancels the package's builds under every other minor, permanently.The index data matches that shape rather than a build-failure shape: of the 508 ABI-risky packages missing from alpine324's 4.4 index, 505 are also missing from 4.6 - a 99% overlap. Genuine per-minor failures would not correlate that way (only 3 were 4.4-specific).
What changed
Adds the
substring(r_version from '^[0-9]+[.][0-9]+') = '<minor>'scoping already used bycheck_package_error()(#119) and the per-minor error query (#189).Errors specific to another minor are still respected downstream:
filter_packages_with_errors()runs per pass with that pass's ownr_version, so a package that genuinely fails under 4.6 is still skipped there.Verification
Rendered query:
Routing itself is unaffected and remains green:
verify-r-minor-routing.shreports 232 passed / 0 failed across all 16 slots, and--livereported 328 passed / 0 failed.