Release Process
- Ensure changelog is up to date with commits in master.
- Run
python setup.py authors
and review the updated AUTHORS file.
- Run
git shortlog REL_<previous release>...
and add new contributors
missed by the authors script to AUTHORS.
- Run
python setup.py manifest
, check that none of the listed files
should be in MANIFEST.in.
- Check
get_data_files()
in setup.py
to see if any new files should
be included in binary distributions.
- Make sure Travis and AppVeyor are green for master.
- Update version numbers in:
- Changelog (also record release date)
- doc/conf.py
- setup.py
- winbuild.py
- Update copyright years if necessary.
- Draft release notes, add to RELEASE-NOTES.rst.
make gen docs
.
python setup.py sdist
.
- Manually test install the built package.
- Build windows packages using winbuild.py.
- Add sdist and windows packages to downloads repo on github.
- Tag the new version.
- Register new version with pypi -
python setup.py register
.
- Upload source distribution to pypi using twine.
- Upload windows wheels to pypi using twine.
- Upload windows exe installers to pypi using twine.
- Upload release files to bintray.
- Push tag to github pycurl repo.
- Announce release on mailing list.
- Link to announcement from website.