build-cran-binaries/scripts
Repository files (latest commit first)
Filename Latest commit message Latest commit date
pat-s a3004695a7
All checks were successful
ci/crow/manual/reindex/14 Pipeline was successful
test(verify): gate on regressions against the generic slot, not fallback rate (#179)
## Motivation

The readiness check added in #175 failed a slot when more than 10% of its per-minor entries were source fallbacks. That stopped being a meaningful signal once rpkgs/bincraft#113 and #114 landed.

Since bincraft keeps a matching-minor generic binary out of a fallback's shadow, a surviving fallback means the generic slot's binary was built under a **different** minor — unsafe for that client anyway. Serving source there is correct, just slow. Failing on that share blocks slots that are genuinely ready: `amd64/noble` sits at 53% for 4.5 and 4.6 while regressing nobody.

## Change

Gate on the thing that actually decides enablement: packages a client of minor M would receive as **source** through per-minor routing while the generic slot holds a binary built under **M itself**. That is strictly worse than not routing at all, and must be zero.

Fallback share is still printed, as context rather than a verdict.

## Verification

Measured across every reindexed slot and minor after the `reindex=all` run: zero regressions everywhere.

| slot | 4.4 | 4.5 | 4.6 |
|---|---|---|---|
| amd64/noble | 0 | 0 | 0 |
| amd64/jammy | 0 | 0 | 0 |
| amd64/rhel9 | 0 | 0 | 0 |
| amd64/rhel10 | 0 | 0 | 0 |
| amd64/resolute | 0 | 0 | 0 |
| arm64/noble | 0 | 0 | 0 |

`shellcheck` clean; script exercised against the live indexes.

Reviewed-on: #179
2026-08-31 09:55:44 +00:00
..
purge_cdn_cache.sh fix(ci): actually purge BunnyCDN cache in purge_cdn_cache.sh (#78) 2026-06-08 08:31:03 +00:00
purge_cdn_zone.sh fix(cdn): resolve a pull zone when the API answers with a bare array (#178) 2026-08-31 09:55:37 +00:00
verify-r-minor-routing.sh test(verify): gate on regressions against the generic slot, not fallback rate (#179) 2026-08-31 09:55:44 +00:00