-
Notifications
You must be signed in to change notification settings - Fork 1.8k
ReleaseChecklist
Adrian Sampson edited this page May 8, 2014
·
43 revisions
This is a to-do list for every new release. Many steps can be automated with the extras/release.py
script.
- Run all the tests:
tox
ordetox
- Check manually that
setup.py
looks up to date (dependencies, version number, packages, etc). - Add a human-readable summary paragraph to the top of the changelog. Clean up any changelog typos.
- Datestamp the changelog:
release.py datestamp
- Commit the finalized changelog:
git commit -a
Run the release.py prep
command. This will:
- Tag the revision:
git tag v1.X.Y
- Build the source distribution:
python setup.py sdist
- Generate the changelog as a Markdown doc for upload as a GitHub release in a file called
changelog.md
. - Bump the version number in
setup.py
,__version__
in__init__.py
,docs/conf.py
, anddocs/changelog.rst
.
Look around to make sure everything looks good. Then:
- Commit the new bumped version:
git commit -a
- Push to GitHub:
git push --tags
- Upload the release:
release.py upload
Next:
- Create a GitHub Release with the changelog generated. (This should be automated but is not yet.)
- Tag and release dependent subprojects: pyacoustid, audioread (eventually: confit, mediafile, ...)
- Change "default version" on Read the Docs.
- Announce on Twitter (@b33ts).
- Announce on forums.
- Email mailing list.
- Update Freshmeat listing.
The distro packages have their own maintainers. Non-exhaustive list: