Skip to content

Commit 3871810

Browse files
authored
Merge pull request #2451 from nicoddemus/update-release-howto
Update HOWTORELEASE
2 parents 1dee443 + 281fcd5 commit 3871810

File tree

1 file changed

+29
-17
lines changed

1 file changed

+29
-17
lines changed

HOWTORELEASE.rst

Lines changed: 29 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,47 +3,59 @@ 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+
#. Open a PR for this branch targeting ``master``.
30+
31+
#. Test the package
2632

27-
#. Run from multiple machines::
33+
* **Manual method**
2834

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

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``).
37+
devpi use https://devpi.net/USER/dev
38+
devpi test pytest==VERSION
3439

35-
#. Check that tests pass for relevant combinations with::
40+
Check that tests pass for relevant combinations with::
3641

3742
devpi list pytest
3843

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

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

4352
invoke generate.publish_release <VERSION> <DEVPI USER> <PYPI_NAME>
4453

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

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

0 commit comments

Comments
 (0)