HOWTORELEASE.rst 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. Release Procedure
  2. -----------------
  3. Our current policy for releasing is to aim for a bugfix every few weeks and a minor release every 2-3 months. The idea
  4. is to get fixes and new features out instead of trying to cram a ton of features into a release and by consequence
  5. taking a lot of time to make a new one.
  6. .. important::
  7. pytest releases must be prepared on **Linux** because the docs and examples expect
  8. to be executed in that platform.
  9. #. Create a branch ``release-X.Y.Z`` with the version for the release.
  10. * **patch releases**: from the latest ``master``;
  11. * **minor releases**: from the latest ``features``; then merge with the latest ``master``;
  12. Ensure your are in a clean work tree.
  13. #. Using ``tox``, generate docs, changelog, announcements::
  14. $ tox -e release -- <VERSION>
  15. This will generate a commit with all the changes ready for pushing.
  16. #. Open a PR for this branch targeting ``master``.
  17. #. After all tests pass and the PR has been approved, publish to PyPI by pushing the tag::
  18. git tag <VERSION>
  19. git push git@github.com:pytest-dev/pytest.git <VERSION>
  20. Wait for the deploy to complete, then make sure it is `available on PyPI <https://pypi.org/project/pytest>`_.
  21. #. Merge the PR into ``master``.
  22. #. Send an email announcement with the contents from::
  23. doc/en/announce/release-<VERSION>.rst
  24. To the following mailing lists:
  25. * pytest-dev@python.org (all releases)
  26. * python-announce-list@python.org (all releases)
  27. * testing-in-python@lists.idyll.org (only major/minor releases)
  28. And announce it on `Twitter <https://twitter.com/>`_ with the ``#pytest`` hashtag.