RFC: the registry follows the pins (CI check + regeneration in the bump workflows) #164
Unanswered
bong-water-water-bong
asked this question in
rfcs
Replies: 1 comment
|
Accepted by the maintainer on 2026-09-26. Implemented in #165. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Problem
registry/architectures.jsonrecords the pins it was built from, and the site, the census and theweekly release read it. But nothing regenerates it when a pin moves. Today two bumps skipped it:
#132 (ZINC, by the bump workflow) and #161 (llama.cpp-vulkan, by hand). The registry then named
stale pins, and
docs/registry.mdhad drifted to counts from before three pin moves (265 instead of323 architectures). Both had to be fixed by hand (#151, #162).
Design
tools/registry_build.py --check-pins: compares the pins the registry records with the committedgitlinks. It needs no checkouts and no network. It runs as ctest
registry_pins, next toregistry_gaps, so CI fails a PR whose pin moved without the registry.scripts/registry-regen.sh: fetches the three trees the registry reads (llama.cpp,llama.cpp-vulkan, zinc) at their pins, depth 1. It regenerates the registry, amends HEAD, and
re-runs the check.
bump-zinc.yml,bump-llama-vulkan.ymlandbump-hrx.ymlrun it right after committing the newpin, so automated bump PRs pass.
docs/registry.mdgives a dated snapshot and points to the JSON for current counts, instead ofnaming pins that go stale.
Alternatives
--check): needs three large checkouts on every PR. Thepin comparison catches the same drift in milliseconds.
mainafter merge: thenmainis wrong between merges, and a bot pushes tomain.How it will be checked
main: passes.8a82fce1c(Bump ZINC: zolotukhin/zinc 29bc350ac4cb #132): fails withzinc recorded at 3a35e76d6, pinned at 29bc350ac.scripts/registry-regen.shrun on a worktree at that commit amends it with the regeneratedregistry (zinc
29bc350ac, counts unchanged), and the check then passes.Dependencies, licences, security
workflows already clone.
Open questions
None.
All reactions