test_ok1/doc/en/release.txt

56 lines
2.4 KiB
Plaintext

pytest release checklist
-------------------------
For doing a release of pytest (status March 2015) holger does:
1. change version numbers in ``setup.py``, ``_pytest/__init__.py``
to a final release version.
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. change ``version`` and ``release`` in doc/en/conf.py, set ``SITETARGET=latest``
in ``doc/en/Makefile``.
5. regenerate doc examples with ``tox -e regen`` and check with ``hg 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").
6. ``devpi upload`` to `your developer devpi index <http://doc.devpi.net/latest/quickstart-releaseprocess.html>`_. You can create your own user and index on https://devpi.net,
an inofficial service from the devpi authors.
7. 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 (March 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.
8. You can fix tests/code and repeat number 7. until everything passes.
9. Once you have sufficiently passing tox tests you can do the actual release::
cd doc/en/
make install
make install-pdf # a bit optional, if you have latex packages installed
devpi push pytest-VERSION pypi:NAME
hg ci -m "... finalized pytest-VERSION"
hg tag VERSION
hg push
10. send out release announcement to pytest-dev@python.org,
testing-in-python@lists.idyll.org and python-announce-list@python.org .
11. **after the release** bump the version numbers in ``setup.py``,
``_pytest/__init__.py``, ``doc/en/conf.py`` to the next Minor release
version (i.e. if you released ``pytest-2.8.0``, set it to ``pytest-2.9.0.dev1``)
and set ``SITETARGET=dev`` in ``doc/en/makefile``. Commit.
12. already done :)