Document/automate the release process
Proposed steps:
- Make sure the version number is accurate
- Run the "release" workflow:
- Build wheels
- Create draft GH release
- Upload wheels via trusted publishing
- Attach wheels to GH release
- Publish GH release
- Make sure the release notes in the GitHub release look good
I have plans around automating step 1 regarding the version number, but that's going to take some exploration first.
Might be worth signing releases with sigstore.
https://github.com/sigstore/gh-action-sigstore-python
https://github.com/sethmlarson/secure-python-package-template
Generate provenance attestation: https://sethmlarson.dev/python-and-slsa?date=2023-03-18
For package upload, consider https://docs.pypi.org/trusted-publishers/adding-a-publisher/ 😉
For package upload, consider https://docs.pypi.org/trusted-publishers/adding-a-publisher/ 😉
Oh, I'm already aware. 😉 https://github.com/brettcannon/microvenv/blob/5e796652c3d80894da8ec9c819349ab45d77f3fd/.github/workflows/release.yml#L22
Actually, we already use it! https://github.com/brettcannon/mousebender/blob/d58e3255ab00e1a63f44c546820e8b6a827252a2/.github/workflows/release.yml#L22
I've updated the opening comment to more accurately reflect my thoughts.