[codex] Drive changelog releases from towncrier#3017
Merged
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit a573f07. Configure here.
| exit 1 | ||
| fi | ||
| RELEASE: ${{ steps.calver.outputs.release }} | ||
| run: uv run --extra=release towncrier build --yes --version "$RELEASE" |
There was a problem hiding this comment.
Towncrier missing from release extra
High Severity
The release workflow runs towncrier via uv run --extra=release, but towncrier is only declared under optional-dependencies.dev, not optional-dependencies.release. The release job environment therefore will not install towncrier, so changelog and release-notes steps should fail before tagging or publishing.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit a573f07. Configure here.
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
This switches release changelog handling to the same towncrier-based flow used by literalizer:
Nextchangelog section update withtowncrier buildnewsfragments/directoryNextentries into initial news fragmentsValidation
uv run --extra=release towncrier build --draft --version 2099.01.01uvx --from actionlint-py actionlint .github/workflows/release.ymluv run --extra=dev pyproject-fmt --check --no-print-diff pyproject.tomlwhere the repo has a dev extragit commitandgit pushNote
Medium Risk
Updates the release pipeline to build both
CHANGELOG.rstand GitHub release bodies from towncrier fragments, which could affect tagging/release automation if the workflow or towncrier config is mis-specified. Also changes doc builds to render unreleased notes, adding new dependencies and potential CI/doc gate failures.Overview
Switches release automation from a manually-edited
Nextsection to towncrier-driven release notes. The GitHub Actions release workflow now runstowncrier buildto (1) emit curated GitHub release notes (release-notes.md) and (2) updateCHANGELOG.rst, committing both the changelog update and consumednewsfragments/.Adds towncrier support across the repo: a
newsfragments/directory, a customdocs/towncrier_template.rst.jinja, and[tool.towncrier]config inpyproject.toml(plus newtowncrier/sphinxcontrib-towncrierdev deps). Docs now include an Unreleased changes page (docs/source/unreleased.rst) rendered from draft fragments during Sphinx builds, andCHANGELOG.rstis anchored with.. towncrier release notes startfor insertion.Reviewed by Cursor Bugbot for commit a573f07. Bugbot is set up for automated code reviews on this repo. Configure here.