Skip to content

Commit 02457f1

Browse files
committed
Update HOWTORELEASE
* Remove the CHANGELOG step now that it is automated; * Overall clean-up and formatting, trying to make the steps more explicit;
1 parent 1dee443 commit 02457f1

File tree

1 file changed

+27
-17
lines changed

1 file changed

+27
-17
lines changed

HOWTORELEASE.rst

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,47 +3,57 @@ How to release pytest
33

44
.. important::
55

6-
pytest releases must be prepared on **linux** because the docs and examples expect
6+
pytest releases must be prepared on **Linux** because the docs and examples expect
77
to be executed in that platform.
88

99
#. Install development dependencies in a virtual environment with::
1010

1111
pip3 install -r tasks/requirements.txt
1212

13-
#. Create a branch ``release-X.Y.Z`` with the version for the release. Make sure it is up to date
14-
with the latest ``master`` (for patch releases) and with the latest ``features`` merged with
15-
the latest ``master`` (for minor releases). Ensure your are in a clean work tree.
13+
#. Create a branch ``release-X.Y.Z`` with the version for the release.
1614

17-
#. Check and finalize ``CHANGELOG.rst`` (will be automated soon).
15+
* **patch releases**: from the latest ``master``;
1816

19-
#. Execute to automatically generate docs, announcements and upload a package to
17+
* **minor releases**: from the latest ``features``; then merge with the latest ``master``;
18+
19+
Ensure your are in a clean work tree.
20+
21+
#. Generate docs, changelog, announcements and upload a package to
2022
your ``devpi`` staging server::
2123

2224
invoke generate.pre_release <VERSION> <DEVPI USER> --password <DEVPI PASSWORD>
2325

24-
If ``--password`` is not given, it is assumed the user is already logged in. If you don't have
25-
an account, please ask for one!
26+
If ``--password`` is not given, it is assumed the user is already logged in ``devpi``.
27+
If you don't have an account, please ask for one.
28+
29+
#. Test the package
2630

27-
#. Run from multiple machines::
31+
* **Manual method**
2832

29-
devpi use https://devpi.net/USER/dev
30-
devpi test pytest==VERSION
33+
Run from multiple machines::
3134

32-
Alternatively, you can use `devpi-cloud-tester <https://github.com/nicoddemus/devpi-cloud-tester>`_ to test
33-
the package on AppVeyor and Travis (follow instructions on the ``README``).
35+
devpi use https://devpi.net/USER/dev
36+
devpi test pytest==VERSION
3437

35-
#. Check that tests pass for relevant combinations with::
38+
Check that tests pass for relevant combinations with::
3639

3740
devpi list pytest
3841

39-
or look at failures with "devpi list -f pytest".
42+
* **CI servers**
4043

41-
#. Feeling confident? Publish to PyPI::
44+
Configure a repository as per-instructions on
45+
devpi-cloud-test_ to test the package on Travis_ and AppVeyor_.
46+
All test environments should pass.
47+
48+
#. Publish to PyPI::
4249

4350
invoke generate.publish_release <VERSION> <DEVPI USER> <PYPI_NAME>
4451

4552
where PYPI_NAME is the name of pypi.python.org as configured in your ``~/.pypirc``
4653
file `for devpi <http://doc.devpi.net/latest/quickstart-releaseprocess.html?highlight=pypirc#devpi-push-releasing-to-an-external-index>`_.
4754

48-
4955
#. After a minor/major release, merge ``features`` into ``master`` and push (or open a PR).
56+
57+
.. _devpi-cloud-test: https://github.com/obestwalter/devpi-cloud-test
58+
.. _AppVeyor: https://www.appveyor.com/
59+
.. _Travis: https://travis-ci.org

0 commit comments

Comments
 (0)