-
Notifications
You must be signed in to change notification settings - Fork 1.8k
ReleaseChecklist
Adrian Sampson edited this page Jun 21, 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
release.py prep
. 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
.
- Tag the revision:
- Look around to make sure everything looks good. Then, commit the new bumped
version:
git commit -a
- Run
release.py publish
. This will:- Push to GitHub:
git push --tags
- Upload the release:
release.py upload
- Push to GitHub:
- Create a GitHub release with the changelog generated. (This should be automated but is not yet.)
This is also a good time to tag and release the other libraries in the beets ecosystem if they've seen any updates. Specifically, this includes pyacoustid and audioread and will eventually encompass Confit and MediaFile.
- Change "default version" on Read the Docs.
- Announce on Twitter (@b33ts).
- Announce on forums.
- Email mailing list.
The distro packages have their own maintainers. Non-exhaustive list: