Generate dist in CI and validate against generated output - #968
Open
KaiKitJeffreyChan wants to merge 1 commit into
Open
Generate dist in CI and validate against generated output#968KaiKitJeffreyChan wants to merge 1 commit into
KaiKitJeffreyChan wants to merge 1 commit into
Conversation
- Add an explicit 'Generate distribution files' step to the integration and schema-check matrix jobs. The step removes the checked-out dist/ tree and regenerates en from data/ and VERSION, so checks validate generated output instead of committed files. Unit tests skip it. - Remove distribution_matches_data_test.rb: comparing regenerated output with a committed dist/ baseline is obsolete once dist/ is unversioned. - Remove the /generate_dist commit-back workflow (already broken: it invoked a Makefile deleted in 354723b). Part of shop/issues-taxonomy#544 Co-authored-by: AI (Pi/Claude Fable 5) <noreply@pi.dev> Assisted-By: devx/bf7ee413-9453-4826-b1dc-8893f26eb97d
5 tasks
KaiKitJeffreyChan
requested review from
JeffrayZhang,
aidenappl,
aoifekelly-wex,
danielpgross,
guialbuk,
hadijafar,
jmignac and
kellyhuangg
and removed request for
aoifekelly-wex
August 4, 2026 14:57
jmignac
approved these changes
Aug 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
CI currently validates
dist/files committed to git. Once dist is published as release assets (#957), CI should generatedist/itself and validate the generated output instead. Part of shop/issues-taxonomy#544.What changed
tests.yml: adds an explicit Generate distribution files step to thetest_integrationandvet_schemamatrix jobs. The step removes the checked-outdist/tree (so checks can never read committed or stale files) and regeneratesenfromdata/and the currentVERSION. Unit-test jobs skip it. Generated files are ephemeral job inputs — no flattening, gzip, or release writes (publication stays in the stable/unstable asset workflows).distribution_matches_data_test.rb: comparing regenerated output against a committeddist/baseline is obsolete once generated files are no longer versioned./generate_distcommit-back workflow: superseded by generation-in-CI. It was already broken — it invokesmake --file=Makefile build, and the Makefile was deleted in 354723b.Gitignoring
dist/and rejecting PRs that touch it is deliberately not part of this PR — that's the final cutover task, which can't land whiledist/is still committed.Validation
Full workflow run on a fork: all 4 jobs green.
test_integration/vet_schemalogs showrm -rf ../dist→ generation fromVERSION→ checks passing against the fresh tree (11 runs, 527791 assertions, 0 failures).test_unitskips the generation step.Known gaps / follow-ups
dist/can drift until the cutover (shop/issues-taxonomy#546). Withdistribution_matches_data_testremoved, no check compares the committeddist/againstdata/— a data PR that skips regeneration merges green andmain'sdist/stays stale until the next release (GenerateReleaseCommandregenerates all locales). This only affects consumers readingdist/frommainrather than from releases. Open question for reviewers: is main-branchdist/a consumption surface we support during the interim? If yes, I'll re-add the deleted test as a non-blocking job (continue-on-error: true, same shape asorphan_detection) until Remove old tooling #546 lands.MANIFEST_KEYrepo secret is now orphaned. The removed workflow was its only consumer (it keyed-BLAKE3-signed the artifact handed between its own two jobs). Deleting the secret from repo settings loses nothing — will remove it after this merges.generate_release_command.rb:81version-badgesdist/README.mdviaFile.read. Whendist/is deleted/gitignored at cutover, that line must be removed in the same change or the release command crashes withErrno::ENOENT.data/change runs green through the new CI") is demonstrated on a fork above but not yet on this repo — the firstdata/-touching PR after merge confirms it.