Skip to content

馃懛 ci(release): gate tagged publishing - #276

Merged
gaborbernat merged 4 commits into
pytest-dev:mainfrom
gaborbernat:release-changelog-gate
Oct 18, 2026
Merged

gaborbernat merged 4 commits into
pytest-dev:mainfrom
gaborbernat:release-changelog-gate

Conversation

@gaborbernat

Copy link
Copy Markdown
Collaborator

Release tags currently publish to PyPI without a committed changelog entry or a check that the built distributions match the tag. The repository also lacks a single required status covering its test matrix and news policy.

This PR backfills the tagged history and removes generated release-note comments from the changelog. Contributor PRs require a nonempty fragment unless labeled skip news. A preparation workflow commits the next changelog entry on main with a repository-only App, then pushes a tag that starts the existing PyPI trusted-publishing workflow. The build checks the changelog and distribution versions before publication.

A pytest-dev organization admin must create and install the repository-only App, set RELEASE_APP_CLIENT_ID and RELEASE_APP_PRIVATE_KEY in release-auth, and protect main and release tags. Require Required checks pass; allow admins and the App to bypass, with no review-approval requirement.

Backfill the tagged history and require PR news in the aggregate. Commit release notes before an App pushes the tag, then check the tag and built distributions before publishing to PyPI.
@gaborbernat gaborbernat added enhancement New feature or request skip news PR does not need a changelog entry labels Oct 18, 2026
@gaborbernat
gaborbernat merged commit d83f95a into pytest-dev:main Oct 18, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request skip news PR does not need a changelog entry

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant