build-cran-binaries/.crow
Repository files (latest commit first)
Filename Latest commit message Latest commit date
pat-s dc2bbc18ba
feat(abi): backfill per-object flat-slot safety verdicts
union_index_records() keeps a carried flat record when that object is recorded
safe and drops it otherwise. Objects uploaded before that record existed have no
verdict, so they are dropped. A full re-index removed roughly 2000 records per
per-minor index -- 16398 across the 4.4 indexes, 20076 across 4.5, 15532 across
4.6 -- each resolving to CRAN source for clients the routing serves correctly.

This inspects the objects already in the bucket and writes the verdict, which is
what restores that coverage.

The question is decided by symbols rather than heuristics: a binary fails at
dyn.load() under minor M exactly when it references a symbol M does not export,
and the volatile set is derived by diffing the R builds installed in the image.

This change will:

- add local/backfill-flat-safety.R, inspecting each compiled flat object and
  recording whether it loads under every installed minor
- refuse to run where fewer than two R minors are installed, since every verdict
  would then read "safe" for want of anything to compare
- skip packages with no compiled code, which cannot fail this way
- add a manual .crow workflow over the same slot matrix as reindex.yaml
2026-09-05 09:34:08 +00:00
..
archive-missed-packages.yaml fix(index): add a slot repair for a broken Built stamp and retire alpine 3.21 (#150) 2026-08-07 09:15:04 +00:00
auto-apply-patches.yaml fix(ci): install RPostgres for audit workflows (#172) 2026-08-30 07:31:28 +00:00
backfill-abi-classification.yaml feat(abi): backfill classifier verdicts for pre-per-minor packages (#199) 2026-09-04 10:34:49 +00:00
backfill-flat-safety.yaml feat(abi): backfill per-object flat-slot safety verdicts 2026-09-05 09:34:08 +00:00
build-all-versions-install-deps.yaml fix(ci): make every manual gate default to a value that matches nothing (#158) 2026-08-09 15:31:14 +00:00
build-all-versions.yaml fix(ci): install RPostgres in build shards (#195) 2026-09-03 20:09:20 +00:00
process-updates.yaml fix(ci): install RPostgres for metadata updates 2026-08-28 08:48:58 +00:00
prune-stale-flat-binaries.yaml fix(abi): prune flat-slot binaries of ABI-risky packages (#200) 2026-09-04 10:54:09 +00:00
rebuild-abi-gap.yaml feat(ci): add a targeted per-R-minor rebuild workflow (#198) 2026-09-04 10:24:47 +00:00
reindex.yaml fix(ci): give the index writers the metadata database password (#201) 2026-09-04 19:26:55 +00:00
repair-built-stamp.yaml fix(ci): make every manual gate default to a value that matches nothing (#158) 2026-08-09 15:31:14 +00:00
trial-build-registry.yaml fix(ci): gate the three ungated pipelines on their own variable (#155) 2026-08-09 10:02:05 +00:00
weekly-audit-missing.yaml fix(ci): install RPostgres for audit workflows (#172) 2026-08-30 07:31:28 +00:00
weekly-patch-proposals.yaml fix(ci): install RPostgres for audit workflows (#172) 2026-08-30 07:31:28 +00:00
weekly-rebuild-missing.yaml Revert "fix(ci): split oversized weekly rebuild matrix" 2026-08-14 07:01:56 +00:00
weekly-rebuild-reindex.yaml fix(ci): give the index writers the metadata database password (#201) 2026-09-04 19:26:55 +00:00