fix: unbreak release format check + clearer verify --verbose output#12
Merged
Merged
Conversation
release-please generates CHANGELOG.md in a markdown style oxfmt rewrites. Locally the format check runs in fix mode and silently reformatted the file (so it never failed), but CI runs oxfmt --check and failed on it. Ignore CHANGELOG.md in .oxfmtrc.json so neither mode touches it. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Under --verbose every check prints, so a single failure was buried mid-list. Re-print each failing check's output in red under a "(failed)" heading at the end of the run so the failing step stands out. jscpd hardcodes red header cells in its stats table (even on a clean run, which reads like a failure) and ignores NO_COLOR/FORCE_COLOR. Add a transformOutput hook to external checks and use it to strip jscpd's red so the table renders in the terminal's default colour. Co-Authored-By: Claude Opus 4.8 (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.
Summary
The 1.1.0 release failed CI on the
formatcheck, andverifyx all --verboseoutput was hard to scan. This fixes the release breakage and improves the failure/table output.The release failure
The
formatcheck failed in CI onCHANGELOG.md. release-please generates the changelog in a markdown style oxfmt rewrites. It couldn't be reproduced locally becauseverifyx allruns oxfmt in fix mode locally — which silently reformattedCHANGELOG.md(leaving it dirty in the working tree) rather than failing. CI runsoxfmt --check ., can't rewrite, and exits 1. Committing the reformatted file wouldn't help either: release-please regenerates it unformatted next release.Fix: ignore
CHANGELOG.mdin.oxfmtrc.jsonso neither check nor fix mode touches it.Output readability
--verboseevery check prints, so a lone failure was buried mid-list. Each failing check's output is now re-printed in red under a▶ <name> (failed)heading at the end of the run, just before the summary.NO_COLOR/FORCE_COLOR. A newtransformOutputhook on external checks strips jscpd's red so the table renders in the default colour.Notes
The local fix-mode auto-rewriting of release-please's
CHANGELOG.mdis a silent footgun that any consumer project pairing this format check with release-please would hit. This PR closes it here; worth considering whetherverifyx initshould seed the same ignore for consumers.Test plan
npm run verify— all 11 checks + 113 tests passverifyx all --verbose--checkmode and confirmed failing checks re-print in red at the endsrc/shared/color.test.tscoveringpaintRed/withoutRed