Skip to content

👷 ci(release): validate notes before PyPI - #292

Draft
gaborbernat wants to merge 64 commits into
tox-dev:mainfrom
gaborbernat:fix/release-changelog-format
Draft

gaborbernat wants to merge 64 commits into
tox-dev:mainfrom
gaborbernat:fix/release-changelog-format

Conversation

@gaborbernat

@gaborbernat gaborbernat commented Oct 19, 2026 •

Copy link
Copy Markdown
Member

This draft moves release preparation and the tagged release to shared Actions. Preparation selects a version from fragments, runs prek, validates the patch without the App key, then uses the repository App to push the commit and tag. The tag workflow builds and checks the distribution, stages a GitHub Release, uploads to PyPI through OIDC with skip-existing, verifies the published files, and publishes the GitHub Release.

The changelog covers each PyPI version, including the Python 3.11 support added in PR #31. The PyPI description uses hatch-fancy-pypi-readme to link the changelog and contribution guide. A separate required check enforces the hook update cooldown.

This head pins released github-workflows 1.0.5 and release-creator 0.6.5. The Nab lock selects only the five release job groups plus build and runtime dependencies. The selected lock passed the exact released Action's check and an independent PyPI metadata check; all 14 shared Action inputs match 1.0.5, and prek passed.

The draft still needs the final shared release pin and exact-head CI, then a release and historical GitHub Release body backfill.

@gaborbernat gaborbernat added bug Something isn't working skip news No user-facing changelog entry is needed labels Oct 19, 2026
@gaborbernat
gaborbernat enabled auto-merge (squash) October 19, 2026 18:18
@gaborbernat
gaborbernat disabled auto-merge October 19, 2026 18:21
@gaborbernat
gaborbernat force-pushed the fix/release-changelog-format branch from f62fedb to c878e06 Compare October 19, 2026 20:32
@gaborbernat gaborbernat changed the title 🐛 fix(release): check generated changelog 🩹 fix(release): validate the full release path Oct 19, 2026
@gaborbernat gaborbernat changed the title 🩹 fix(release): validate the full release path 🐛 fix(release): validate the release path Oct 20, 2026
Render notes and validate the build before PyPI publication. Keep the GitHub
Release writer free of checkout and third-party tool installation.
Freeze hook revisions and mdformat plugins while letting the weekly updater
refresh exact plugin pins after the cooldown.
@gaborbernat gaborbernat changed the title 🐛 fix: check assembled release notes 👷 ci(release): validate notes before PyPI Oct 21, 2026
@gaborbernat gaborbernat removed the skip news No user-facing changelog entry is needed label Oct 21, 2026
Stage a matching GitHub Release draft before PyPI upload. On retry, compare the original built files with PyPI, upload only missing files, and verify the complete set before publishing the draft.
Use release-creator 0.5.0 from the project lock. Open weekly release-tool
PRs with the repo-only App so pull request checks run on those changes.
The App needs Pull requests write as well as Contents write.
Use the current shared actions and release-creator 0.5.1 to enforce
the full project lock during release work. Rerun bot PR cooldown checks
daily after their seven-day age gate.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant