1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
Release Checklist
=================
A. Install in a new venv and run unit tests
Note, you can't seem to script the virtualenv calls, see:
https://bitbucket.org/dhellmann/virtualenvwrapper/issues/219/cant-deactivate-active-virtualenv-from
$ deactivate
$ rmvirtualenv gitsome
$ mkvirtualenv gitsome
$ pip install -e .
$ pip install -r requirements-dev.txt
$ rm -rf .tox && tox
B. Run code checks
$ scripts/run_code_checks.sh
C. Run manual [smoke tests](#smoke-tests) on Mac, Ubuntu, Windows
D. Update and review `README.rst` and `Sphinx` docs, then check gitsome/docs/build/html/index.html
$ scripts/update_docs.sh
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 `gitsome/__init__.py`
I. Update and review `CHANGELOG`
$ scripts/create_changelog.sh
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
$ git checkout master
$ git push
Might need to recreate develop branch.
N. Set CHANGELOG.rst as `README.rst`
$ scripts/set_changelog_as_readme.sh
O. Register package with PyPi
$ python setup.py register -r pypi
P. Upload to PyPi
$ python setup.py sdist upload -r pypi
Q. Upload Sphinx docs to PyPi
$ python setup.py upload_sphinx
R. Review newly released package from PyPi
S. Release on GitHub: https://github.com/donnemartin/gitsome/tags
1. Click "Add release notes" for latest release
2. Copy release notes from `CHANGELOG.md`
3. Click "Publish release"
T. Install in a new venv and run manual [smoke tests](#smoke-tests) on Mac, Ubuntu, Windows
## Smoke Tests
Run the following on Python 3.4:
* Craete a new `virtualenv`
* Pip install `gitsome` into new `virtualenv`
* Run `gitsome`
* Run targeted tests based on recent code changes
|