Skip to content

Commit 81d7883

Browse files
committed
refine release process according to Bruno's feedback
--HG-- branch : release-checklist
1 parent ad137d4 commit 81d7883

File tree

3 files changed

+51
-25
lines changed

3 files changed

+51
-25
lines changed

CONTRIBUTING.rst

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,9 @@ the issues there and submit your pull requests.
147147

148148
$ hg clone ssh://[email protected]/YOUR_BITBUCKET_USERNAME/pytest
149149
$ cd pytest
150-
$ hg branch your-branch-name
150+
$ hg up pytest-2.7 # if you want to fix a bug for the pytest-2.7 series
151+
$ hg up default # if you want to add a feature bound for the next minor release
152+
$ hg branch your-branch-name # your feature/bugfix branch
151153

152154
If you need some help with Mercurial, follow this quick start
153155
guide: http://mercurial.selenic.com/wiki/QuickStart
@@ -197,7 +199,9 @@ the issues there and submit your pull requests.
197199
branch: your-branch-name
198200

199201
target: pytest-dev/pytest
200-
branch: default
202+
branch: default # if it's a feature
203+
branch: pytest-VERSION # if it's a bugfix
204+
201205

202206
.. _contribution-using-git:
203207

doc/en/_themes/flask/static/flasky.css_t

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
{% set link_color = '#000' %}
1313
{% set link_hover_color = '#000' %}
1414
{% set base_font = 'sans-serif' %}
15-
{% set header_font = 'sans-serif' %}
15+
{% set header_font = 'serif' %}
1616

1717
@import url("basic.css");
1818

@@ -265,9 +265,10 @@ p.admonition-title:after {
265265
content: ":";
266266
}
267267

268-
pre, tt {
268+
pre, tt, code {
269269
font-family: 'Consolas', 'Menlo', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
270270
font-size: 0.9em;
271+
background: #eee;
271272
}
272273

273274
img.screenshot {

doc/en/release.txt

Lines changed: 42 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,53 @@ pytest release checklist
33

44
For doing a release of pytest (status March 2015) holger does:
55

6-
- change version numbers in ``setup.py``, ``_pytest/__init__.py``
6+
1. change version numbers in ``setup.py``, ``_pytest/__init__.py``
7+
to a final release version.
78

8-
- finalize changelog (especially the header)
9+
2. finalize ``./CHANGELOG`` (don't forget the the header).
910

10-
- ``devpi upload`` to an index, run ``devpi test`` from linux and
11-
windows and make sure all relevant environments pass (some like py27-pexpect
12-
on windows fail which is normal because pexpect does not work on windows
13-
and tox can currently not have platform-conditional test envs)
14-
If tests fail, fix and re-upload.
11+
3. write ``doc/en/announce/release-VERSION.txt``
12+
(usually copying from an earlier release version).
1513

16-
- change "version" and "release" in doc/en/conf.py
14+
4. change ``version`` and ``release`` in doc/en/conf.py, set ``SITETARGET=latest``
15+
in ``doc/en/Makefile``.
1716

18-
- regenerate doc examples with ``tox -e regen`` and check with ``hg diff``
17+
5. regenerate doc examples with ``tox -e regen`` and check with ``hg diff``
18+
if the differences show regressions. It's a bit of a manual process because
19+
there a large part of the diff is about pytest headers or differences in
20+
speed ("tests took X.Y seconds"). (XXX automate doc/example diffing to ignore
21+
such changes and integrate it into "tox -e regen").
1922

20-
- change SITETARGET in ``doc/en/makefile`` to "latest" &&
21-
``cd doc/en && make install && make install-pdf``
22-
creating and installing the pdf requires various latex
23-
packages to work.
23+
6. ``devpi upload`` to `your developer devpi index <http://doc.devpi.net/latest/quickstart-releaseprocess.html>`_. You can create your own user and index on https://devpi.net,
24+
an inofficial service from the devpi authors.
2425

25-
- once everything seems fine, do a commit and ``hg tag`` the correct
26-
version and issue ``devpi push pytest==VERSION pypi:pypi`` to push
27-
the tested package to pypi (in my ``.pypirc`` pypi.python.org is aliased
28-
as ``pypi``)
26+
7. run ``devpi use INDEX`` and ``devpi test`` from linux and windows machines
27+
and verify test results on the index. On linux typically all environments
28+
pass (March 2015 there is a setup problem with a cx_freeze environment)
29+
but on windows all involving ``pexpect`` fail because pexpect does not exist
30+
on windows and tox does not allow to have platform-specific environments.
31+
Also on windows ``py33-trial`` fails but should probably pass (March 2015).
32+
In any case, py26,py27,py33,py34 are required to pass for all platforms.
2933

30-
- **after the release** bump the version numbers in ``setup.py``,
31-
``_pytest/__init__.py``, ``doc/en/conf.py`` and set ``SITETARGET=dev``
32-
in ``doc/en/makefile``. commit.
34+
8. You can fix tests/code and repeat number 7. until everything passes.
3335

34-
- congrats :)
36+
9. Once you have sufficiently passing tox tests you can do the actual release::
37+
38+
cd doc/en/
39+
make install
40+
make install-pdf # a bit optional, if you have latex packages installed
41+
42+
devpi push pytest-VERSION pypi:NAME
43+
hg ci -m "... finalized pytest-VERSION"
44+
hg tag VERSION
45+
hg push
46+
47+
10. send out release announcement to [email protected],
48+
49+
50+
11. **after the release** bump the version numbers in ``setup.py``,
51+
``_pytest/__init__.py``, ``doc/en/conf.py`` to the next Minor release
52+
version (i.e. if you released ``pytest-2.8.0``, set it to ``pytest-2.9.0.dev1``)
53+
and set ``SITETARGET=dev`` in ``doc/en/makefile``. Commit.
54+
55+
12. already done :)

0 commit comments

Comments
 (0)