Enforce formatting in CI - #17
Merged
Merged
Conversation
Nothing checked formatting, which is how 13 files drifted from oxfmt before anyone noticed. CI is the only enforcement gate in this repo — there are no pre-commit hooks by design — so the check belongs there. A bare `.` is safe now that .oxfmtrc.json carries ignorePatterns: it covers TypeScript and JavaScript and skips prose, generated files, and hand-tuned config. Verified `oxfmt --check` exits 1 on drift and 0 when clean, so the step actually gates rather than printing into the void. Added to ci.yml rather than a separate hygiene workflow: ci.yml already runs typecheck, lint, and knip on the same triggers, so a second workflow would have duplicated three of the four checks and doubled the time to signal. DEVELOPMENT.md enumerates the CI gates in two places; both were already missing typecheck, and now list the formatter too. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
Nothing checked formatting, which is how 13 files drifted from oxfmt before anyone noticed. CI is the only enforcement gate in this repo — there are no pre-commit hooks, by design — so the check belongs there.
Grouped with
lintandknipas the static-analysis steps, so build/typecheck/test still report first.A bare
.is only safe becauseignorePatternslanded in #15 — before that it would have failed on 34 prose and config files. The config now scopes oxfmt to TypeScript and JavaScript and skips prose, generated files, and hand-tuned config.Verified the step actually gates.
oxfmt --checkexits 1 on drift, 0 when clean. Worth proving rather than assuming: every earlier--checkI ran went through a pipe, so$?wastail's exit code rather than oxfmt's — and #16 had just fixed a step that swallowed a real error behind|| true. Also ran the full CI sequence locally: build, typecheck, test, lint, oxfmt, knip, all exit 0.Added here rather than as a separate hygiene workflow.
ci.ymlalready runs typecheck, lint, and knip on identical triggers, so a second workflow would have duplicated three of four checks and doubled time-to-signal. It would also have needed its own fullpnpm build: typecheck cannot run without one, sinceblogwright-pdsandblogwrightresolveblogwright-core's types through itsdistand fail withTS2307otherwise.DEVELOPMENT.mdenumerates the CI gates in two places. Both were already stale — neither mentionedtypecheck, whichci.ymlhas been running — so this corrects that while adding the formatter.No changeset: CI configuration and docs, internal-only.
🤖 Generated with Claude Code