ci: make PR check failures self-explanatory and document CI gates - #994
Merged
Yeom-JinHo merged 2 commits intoJul 31, 2026
Merged
Conversation
- Align the registry-drift job with the lefthook pre-commit hook: simplify the root build:registry to the www-scoped regeneration-only command, so unrelated lint errors can no longer fail artifact generation or mask the drift result (follow-up to magicuidesign#988; generated artifacts are byte-identical, verified with a clean git status after regeneration) - Print the fix command when the lint, format, registry-deps, and registry-drift gates fail, surfaced as ::error:: annotations - Expose registry-deps:fix from the root package.json and point out that it edits registry-examples.ts, which requires re-running build:registry - Document the CI gates in CONTRIBUTING (pnpm check, production build, committing generated registry artifacts, Conventional Commits) plus Node/pnpm prerequisites - Add a pre-flight checklist to the PR template Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011wJuxcamc1gSFVu9AcKkGp
|
@Yeom-JinHo is attempting to deploy a commit to the product-studio Team on Vercel. A member of the Team first needs to authorize it. |
- registry-deps failure guidance now names registry-examples.ts, which registry-deps:fix edits as a source file, not a generated artifact - Soften "the four fastest CI gates" to "four of the six CI gates" (job timings overlap between runs) - Scope the git-hooks NOTE: artifact regeneration only triggers for staged files under registry/, so a config/site.ts-only change needs a manual pnpm build:registry - PR checklist: add a production-build item and make the build:registry item conditional - Unify the drift/registry-deps annotation wording Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011wJuxcamc1gSFVu9AcKkGp
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.
Description
Makes CI failures self-explanatory for contributors and documents the CI gates in CONTRIBUTING. The only CI/artifact behavior change is one line: the registry-drift job (and the root
build:registryscript it calls) now runs the regeneration-only, www-scoped command — the same one the lefthook pre-commit hook already uses (follow-up to #988). Generated artifacts are byte-identical: regenerating with the simplified command leavesgit statusclean across all six checked paths.One side effect for local workflows: the root
build:registryno longer runs an incidental repo-wideeslint --fix. That auto-fixing is still covered by lefthook's pre-commit hook (staged files), and CONTRIBUTING now documentspnpm lint:fixexplicitly.Changes
code-check.yml: the lint / format / registry-deps / registry-drift gates now print the exact fix command (pnpm lint:fix,pnpm format:fix,pnpm registry-deps:fix && pnpm build:registry,pnpm build:registry) as::error::annotations on failure — same pattern the drift job already usedpackage.json:build:registryno longer chains repo-widelint:fix+format:fix(no-op for artifacts; unrelated lint errors could previously fail artifact generation and mask the real drift result); removed the now-unusedformat:fix:silent; exposedregistry-deps:fixat the rootsync-example-registry-dependencies.mts: check failure now tells you to runregistry-deps:fix && build:registryand to commitregistry-examples.ts(which the fix rewrites) along with the regenerated artifactsCONTRIBUTING.md: new "Before Opening a Pull Request" section (pnpm check, production build, committing generated artifacts, Conventional Commits), Node 22 / pnpm 9 prerequisites, and a note that generated artifacts must be committedPULL_REQUEST_TEMPLATE.md: 4-item pre-flight checklistlefthook.yml: comment updated to reflect the simplified root script (command unchanged)Motivation
Two CI gates were effectively dead ends for external contributors:
registry-deps:checkfailed without mentioning that a fix command exists, and commitlint rejected first commits while Conventional Commits wasn't documented anywhere. Separately, an unrelated lint error could turn the drift job red with no lint output in its log, sending contributors down the wrong path. Every avoided round trip is a full push → wait → search → fix cycle saved, for every contributor.Breaking Changes
None. Job and step names are unchanged (required status checks unaffected).
pnpm build:registryproduces byte-identical artifacts.Screenshots
N/A (no UI changes)
Checklist
pnpm checkpasses locallypnpm buildpasses locallypnpm build:registrywas run and the generated files are committed (CI verifies this on every PR)🤖 Generated with Claude Code
https://claude.ai/code/session_011wJuxcamc1gSFVu9AcKkGp