🐛 fix(release): format changelog with pre-commit before committing#3717
Merged
gaborbernat merged 1 commit intotox-dev:mainfrom Feb 17, 2026
Merged
🐛 fix(release): format changelog with pre-commit before committing#3717gaborbernat merged 1 commit intotox-dev:mainfrom
gaborbernat merged 1 commit intotox-dev:mainfrom
Conversation
6d301aa to
57314b7
Compare
The release process runs towncrier to generate changelog.rst, but towncrier's output may not match our pre-commit formatting rules (line wrapping, trailing whitespace, etc.). This causes the release commit to contain unformatted changelog text that later gets flagged by CI. Run pre-commit on the generated changelog.rst immediately after towncrier completes but before creating the release commit. This ensures the changelog is properly formatted from the start, avoiding subsequent formatting commits and keeping the release history clean. Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
57314b7 to
a3aad1e
Compare
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.
The release process generates
changelog.rstusing towncrier, but towncrier's output doesn't always match our pre-commit formatting rules. 📝 This leads to the release commit containing unformatted changelog text that later gets flagged by CI, requiring follow-up formatting commits.This PR modifies the release script to run pre-commit on the generated
changelog.rstimmediately after towncrier builds it but before creating the release commit. The pre-commit hooks apply all necessary formatting (line wrapping, trailing whitespace removal, etc.) so the changelog is properly formatted from the start.The implementation catches and handles the case where pre-commit makes changes (exit code 1), stages those changes, and includes them in the release commit. This keeps the release history clean without requiring manual intervention or subsequent formatting commits.