Here's my step-by-step guide for cutting a new release of cluster-lensing. Thanks to Jake VanderPlas for showing the way!
-
update version in
setup.py
-
update version in
clusterlensing/__init__.py
-
update version in
docs/conf.py
(two places!) -
update change log in
CHANGES.md
-
update
README.md
anddemo.ipynb
if necessary -
confirm all tests pass & flake8 gives no errors
$ cd clusterlensing/
$ nosetests
$ flake8 --ignore N802,N806 `find . -name \*.py | grep -v setup.py | grep -v /doc/`
-
create a release tag; e.g.
$ git tag -a v0.1.1 -m 'version 0.1.1 release'
-
push the commits and tag to github; e.g.
$ git push origin v0.1.1
$ git push origin master
-
confirm that CI tests pass on github
-
under "tags" on github, update the release notes
-
push the new release to PyPI:
$ python setup.py sdist upload
- change directories to
docs
and build the documentation:
$ cd docs/
$ make html # build documentation
$ make publish # publish to github pages
$ make publish # and again to really publish
-
update version in
setup.py
to next version; e.g. '0.3-git' -
update version in
clusterlensing/__init__.py
to the same -
update version in
docs/conf.py
to the same (in two places)