-
Notifications
You must be signed in to change notification settings - Fork 96
Releasing
- Prepare GPG signing key
- Update
README.rst
andDESCRIPTION.rst
if your keys are not yet listed in those files
- Update
- Install
twine
- Setup the
.pypirc
file (configuration for twine) - Test that signing with twine works (try uploading to test-pypi)
-
Make sure all PRs for the release have been merged
-
Make sure the "aiosmtpd CI" GitHub Action on "master" has completed successfully
-
Do the following on local, do NOT push for any step:
- (Optional) improve/fix
release.py
; do NOT push - Fix
NEWS.rst
and Commit; do NOT push - Bump Version and Commit; do NOT push
(You can do both in one commit)
- (Optional) improve/fix
-
Run the
qa
anddocs
testenvs one more timeSuggested to run
housekeep.py superclean
before testing. -
Push to your own repo ONLY, and ask ReadTheDocs to generate a documentation from your repo. Make sure that the docs is built successfully
Fix any errors; you want the docs to be free of error before releasing.
-
Set environment variables as needed by
release.py
-
Run
release.py
If you choose to NOT do "tag & push" during
release.py
, don't forget to follow up with a "tag & push" (don't forget that only annotated tags can be pushed.) -
Verify that latest doc build on ReadTheDocs is successful
If you've done Step 4 properly, this should be okay
-
Create a new GitHub release on the latest tag, and upload the following files:
aiosmtpd-<version>-py3-none-any.whl
aiosmtpd-<version>-py3-none-any.whl.asc
aiosmtpd-<version>.tar.gz
aiosmtpd-<version>.tar.gz.asc
(All these files should exist in the
dist
subdirectory if you've usedrelease.py
) -
(Optional) Announce the release of the new version in the aio-libs Discourse