pytest release checklist ------------------------- For doing a release of pytest (status April 2015) this rough checklist is used: 1. change version numbers in ``_pytest/__init__.py`` to the to-be-released version. (the version number in ``setup.py`` reads from that init file as well) 2. finalize ``./CHANGELOG`` (don't forget the the header). 3. write ``doc/en/announce/release-VERSION.txt`` (usually copying from an earlier release version). 4. regenerate doc examples with ``tox -e regen`` and check with ``git diff`` if the differences show regressions. It's a bit of a manual process because there a large part of the diff is about pytest headers or differences in speed ("tests took X.Y seconds"). (XXX automate doc/example diffing to ignore such changes and integrate it into "tox -e regen"). 5. ``devpi upload`` to `your developer devpi index `_. You can create your own user and index on https://devpi.net, an inofficial service from the devpi authors. 6. run ``devpi use INDEX`` and ``devpi test`` from linux and windows machines and verify test results on the index. On linux typically all environments pass (April 2015 there is a setup problem with a cx_freeze environment) but on windows all involving ``pexpect`` fail because pexpect does not exist on windows and tox does not allow to have platform-specific environments. Also on windows ``py33-trial`` fails but should probably pass (March 2015). In any case, py26,py27,py33,py34 are required to pass for all platforms. 7. You can fix tests/code and repeat number 6. until everything passes. 8. Once you have sufficiently passing tox tests you can do the actual release:: cd doc/en/ make install # will install to 2.7, 2.8, ... according to _pytest/__init__.py make install-pdf # optional, requires latex packages installed ssh pytest-dev@pytest.org # MANUAL: symlink "pytest.org/latest" to the just # installed release docs # browse to pytest.org to see devpi push pytest-VERSION pypi:NAME git commit -a -m "... finalized pytest-VERSION" git tag VERSION git push 9. send out release announcement to pytest-dev@python.org, testing-in-python@lists.idyll.org and python-announce-list@python.org . 10. **after the release** bump the version number in ``_pytest/__init__.py``, to the next Minor release version (i.e. if you released ``pytest-2.8.0``, set it to ``pytest-2.9.0.dev1``). 11. already done :)