From a9b064d992bf12e3999c7645a0f781da54132ca6 Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Fri, 9 Jun 2017 19:43:54 -0300 Subject: [PATCH] Add HOWTORELEASE document Fix #155 --- HOWTORELEASE.rst | 45 +++++++++++++++++++++++++++++++++++++++++++++ changelog/155.doc | 1 + 2 files changed, 46 insertions(+) create mode 100644 HOWTORELEASE.rst create mode 100644 changelog/155.doc diff --git a/HOWTORELEASE.rst b/HOWTORELEASE.rst new file mode 100644 index 0000000..c991dcb --- /dev/null +++ b/HOWTORELEASE.rst @@ -0,0 +1,45 @@ +====================== +Releasing pytest-xdist +====================== + +This document describes the steps to make a new ``pytest-xdist`` release. + +Version +------- + +``master`` should always be green and a potential release candidate. ``pytest-xdist`` follows +semantic versioning, so given that the current version is ``X.Y.Z``, to find the next version number +one needs to look at the ``changelog`` folder: + +- If there is any file named ``*.feature``, then we must make a new **minor** release: next + release will be ``X.Y+1.0``. + +- Otherwise it is just a **bug fix** release: ``X.Y.Z+1``. + + +Steps +----- + +To publish a new release ``X.Y.Z``, the steps are as follows: + +#. Create a new branch named ``release-X.Y.Z``. + +#. Install ``pytest-xdist`` and dev requirements in a virtualenv:: + + $ pip install -e . -r dev-requirements.txt + +#. Update ``CHANGELOG.rst`` file by running:: + + $ towncrier + + It might ask for confirmation to remove news fragments; answer yes. + +#. Commit and push the branch for review. + +#. Once PR is **green** and **approved**, create and push a tag:: + + $ export VERSION=X.Y.Z + $ git tag v$VERSION release-$VERSION + $ git push git@github.com:pytest-dev/pytest-xdist.git v$VERSION + +That will build the package and publish it on ``PyPI`` automatically. diff --git a/changelog/155.doc b/changelog/155.doc new file mode 100644 index 0000000..8c75dc1 --- /dev/null +++ b/changelog/155.doc @@ -0,0 +1 @@ +Added ``HOWTORELEASE`` documentation.