Permalink
Browse files

Revise release process and notes.

 - Use twine.
 - Add test PyPI into the mix.
 - More use of Makefile for automation (there was already stuff in there from the cookiecutter template I wasn't using).

Fixes #73.
  • Loading branch information...
jmchilton committed Feb 22, 2015
1 parent aeeaedb commit fba38746e7bbfbc227f64249a089e539460a7bb1
Showing with 39 additions and 14 deletions.
  1. +13 −6 Makefile
  2. +1 −0 dev-requirements.txt
  3. +25 −8 docs/developing.rst
@@ -59,11 +59,18 @@ docs:
$(MAKE) -C docs html
open docs/_build/html/index.html

release: clean
python setup.py sdist upload
python setup.py bdist_wheel upload

dist: clean
python setup.py sdist
python setup.py bdist_wheel
python setup.py sdist bdist_egg bdist_wheel
ls -l dist

release-test: dist
twine upload -r test dist/*
echo "Review https://testpypi.python.org/pypi/planemo"

release:
@while [ -z "$$CONTINUE" ]; do \
read -r -p "Have you executed release-test and reviewed results? [y/N]: " CONTINUE; \
done ; \
[ $$CONTINUE = "y" ] || [ $$CONTINUE = "Y" ] || (echo "Exiting."; exit 1;)
@echo "Releasing"
twine upload dist/*
@@ -10,3 +10,4 @@ flake8

# For release
wheel
twine
@@ -10,21 +10,38 @@ Release Checklist
This release checklist is based on the `Pocoo Release Management Workflow
<http://www.pocoo.org/internal/release-management/>`_.

This assumes ``~/.pypirc`` file exists with the following fields (variations)
are fine.

```
[distutils]
index-servers =
pypi
test

[pypi]
username:<username>
password:<password>

[test]
repository:https://testpypi.python.org/pypi
username:<username>
password:<password>
```

* Review ``git status`` for missing files.
* Verify the latest Travis CI builds pass.
* ``make lint && make test``
* Update version info in ``planemo/__init__.py`` (drop ``-dev`` suffix).
* ``make clean && make lint && make test``
* Update version info in ``planemo/__init__.py`` (drop ``.dev0`` suffix).
* Update release date and description in ``HISTORY.rst``.
* ``make docs`` and review changelog.
* ``git commit``
* ``python2.7 setup.py bdist_wheel bdist_egg sdist upload``
* ``python2.6 setup.py bdist_egg upload`` (TODO)
* Check PyPI release page for obvious errors (https://pypi.python.org/pypi/planemo)
* ``make release-test``
* Review `Test PyPI <https://testpypi.python.org/pypi/planemo>`_ for errors (install with ``pip install -i https://testpypi.python.org/pypi planemo``).
* ``make release``
* ``git tag <release>``
* Update version info in ``planemo/__init__.py`` (n+1-dev).
* Update version info in ``planemo/__init__.py`` (n+1.dev0).
* ``git commit``
* ``git push origin``
* ``git push --tags origin``
* Update planemo homebrew recipe to new version.

This requires ``~/.pypirc`` file.

0 comments on commit fba3874

Please sign in to comment.