Skip to content
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.

Finalize

  1. Run all the tests: tox or detox
  2. Check manually that setup.py looks up to date (dependencies, version number, packages, etc).
  3. Add a human-readable summary paragraph to the top of the changelog. Clean up any changelog typos.
  4. Datestamp the changelog: release.py datestamp
  5. Commit the finalized changelog: git commit -a

Release

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, and docs/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, ...)

Announcement

The distro packages have their own maintainers. Non-exhaustive list:

Clone this wiki locally