Skip to content

馃懛 ci: adopt shared release workflows - #328

Draft
gaborbernat wants to merge 38 commits into
mainfrom
fix/release-contract
Draft

gaborbernat wants to merge 38 commits into
mainfrom
fix/release-contract

Conversation

@gaborbernat

@gaborbernat gaborbernat commented Oct 20, 2026 •

Copy link
Copy Markdown
Member

This draft moves version selection, Towncrier assembly, patch validation, App-authored commits and tags, distribution checks, and GitHub notes to shared Actions. The tagged workflow stages a matching GitHub Release draft, uploads to PyPI through OIDC with skip-existing, verifies the published files and attestations, then publishes the draft. Jobs with GitHub write access do not install release tools.

The 34 tagged RST changelog sections have user-facing categories, stable anchors, PR links, and source-backed author credits. Sphinx renders pending fragments as a Draft section on PR documentation builds. The PR also adds frozen hooks, weekly release-tool updates, and corrected wheel metadata.

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; tests and docs resolve fresh. 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 backfill of 34 historical GitHub Release bodies.

@gaborbernat gaborbernat added the skip news No user-facing changelog entry is needed label Oct 20, 2026
@gaborbernat gaborbernat changed the title 馃懛 ci(release): adopt shared news checks 馃懛 ci: share release preparation Oct 20, 2026
@gaborbernat gaborbernat changed the title 馃懛 ci: share release preparation 馃懛 ci: adopt shared release workflows Oct 21, 2026
@gaborbernat gaborbernat added the documentation Improvements or additions to documentation label Oct 21, 2026
Stage only missing distributions and verify the full PyPI file set before
creating the GitHub Release. A retry can resume a partial upload while
changed files still fail verification.
Require a matching GitHub draft before PyPI staging. The zero-missing
retry path must not publish a Release when draft staging failed.
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

documentation Improvements or additions to documentation skip news No user-facing changelog entry is needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant