pytest release checklistΒΆ
For doing a release of pytest (status April 2015) this rough checklist is used:
change version numbers in
_pytest/__init__.py
to the to-be-released version. (the version number insetup.py
reads from that init file as well)finalize
./CHANGELOG
(don’t forget the the header).write
doc/en/announce/release-VERSION.txt
(usually copying from an earlier release version).regenerate doc examples with
tox -e regen
and check withhg 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”).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.run
devpi use INDEX
anddevpi 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 involvingpexpect
fail because pexpect does not exist on windows and tox does not allow to have platform-specific environments. Also on windowspy33-trial
fails but should probably pass (March 2015). In any case, py26,py27,py33,py34 are required to pass for all platforms.You can fix tests/code and repeat number 6. until everything passes.
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 hg ci -m "... finalized pytest-VERSION" hg tag VERSION hg push
- send out release announcement to pytest-dev@python.org,
testing-in-python@lists.idyll.org and python-announce-list@python.org .
after the release bump the version number in
_pytest/__init__.py
, to the next Minor release version (i.e. if you releasedpytest-2.8.0
, set it topytest-2.9.0.dev1
).already done :)