Find file
Fetching contributors…
Cannot retrieve contributors at this time
90 lines (51 sloc) 1.9 KB

Release Checklist

A. Install in a new venv and run unit tests

Note, you can't seem to script the virtualenv calls, see:

$ deactivate
$ rmvirtualenv awesome
$ mkvirtualenv awesome
$ pip install -e .
$ pip install -r requirements-dev.txt
$ rm -rf .tox && tox

B. Run code checks

$ scripts/

C. Run manual smoke tests on Mac, Ubuntu, Windows

D. Update and review README.rst and Sphinx docs, then check awesome/docs/build/html/index.html

$ scripts/

E. Push changes

F. Review Travis, Codecov, and Gemnasium

G. Start a new release branch

$ git flow release start x.y.z

H. Increment the version number in awesome/

I. Update and review, then run:

$ scripts/

J. Commit the changes

K. Finish the release branch

$ git flow release finish 'x.y.z'

L. Input a tag

$ vx.y.z

M. Push tagged release to develop and master


$ scripts/

O. Register package with PyPi

$ python register -r pypi

P. Upload to PyPi

$ python sdist upload -r pypi

Q. Upload Sphinx docs to PyPi

$ python upload_sphinx

R. Restore

$ scripts/

S. Review newly released package from PyPi

T. Release on GitHub:

1. Click "Add release notes" for latest release
2. Copy release notes from ``
3. Click "Publish release"

U. Install in a new venv and run manual smoke tests.

Smoke Tests

Run the following on Python 2.7 and Python 3.4:

  • Create a new virtualenv
  • Pip install package into new virtualenv
  • Run package
  • Run targeted tests based on recent code changes