blob: 3ebfa28b1ed97ddbf52c98d1dfcf4463af97567a [file] [log] [blame]
How to release pytest
Note: this assumes you have already registered on pypi.
0. create the branch release-VERSION
use features as base for minor/major releases
and master as base for bugfix releases
1. Bump version numbers in _pytest/ ( reads it)
2. Check and finalize CHANGELOG
3. Write doc/en/announce/release-VERSION.txt and include
it in doc/en/announce/index.txt::
git log 2.8.2..HEAD --format='%aN' | sort -u # lists the names of authors involved
4. Use devpi for uploading a release tarball to a staging area::
devpi use
devpi upload --formats sdist,bdist_wheel
5. Run from multiple machines::
devpi use
devpi test pytest==VERSION
6. Check that tests pass for relevant combinations with::
devpi list pytest
or look at failures with "devpi list -f pytest".
7. Regenerate the docs examples using tox, and check for regressions::
tox -e regen
git diff
8. Build the docs, you need a virtualenv with py and sphinx
cd doc/en
make html
Commit any changes before tagging the release.
9. Tag the release::
git tag VERSION
git push
10. Upload the docs using doc/en/Makefile::
cd doc/en
make install # or "installall" if you have LaTeX installed for PDF
This requires ssh-login permission on because it uses
Note that the ``install`` target of ``doc/en/Makefile`` defines where the
rsync goes to, typically to the "latest" section of
If you are making a minor release (e.g. 5.4), you also need to manually
create a symlink for "latest"::
ln -s 5.4 latest
Browse to to verify.
11. Publish to pypi::
devpi push pytest-VERSION pypi:NAME
where NAME is the name of as configured in your ``~/.pypirc``
file `for devpi <>`_.
12. Send release announcement to mailing lists:
- pytest-dev
- testing-in-python
13. **after the release** Bump the version number in ``_pytest/``,
to the next Minor release version (i.e. if you released ``pytest-2.8.0``,
set it to ``pytest-2.9.0.dev1``).
14. merge the actual release into the master branch and do a pull request against it
15. merge from master to features