refine release process according to Bruno's feedback
--HG-- branch : release-checklist
This commit is contained in:
parent
ad137d46a2
commit
81d7883884
|
@ -147,7 +147,9 @@ the issues there and submit your pull requests.
|
||||||
|
|
||||||
$ hg clone ssh://hg@bitbucket.org/YOUR_BITBUCKET_USERNAME/pytest
|
$ hg clone ssh://hg@bitbucket.org/YOUR_BITBUCKET_USERNAME/pytest
|
||||||
$ cd pytest
|
$ cd pytest
|
||||||
$ hg branch your-branch-name
|
$ hg up pytest-2.7 # if you want to fix a bug for the pytest-2.7 series
|
||||||
|
$ hg up default # if you want to add a feature bound for the next minor release
|
||||||
|
$ hg branch your-branch-name # your feature/bugfix branch
|
||||||
|
|
||||||
If you need some help with Mercurial, follow this quick start
|
If you need some help with Mercurial, follow this quick start
|
||||||
guide: http://mercurial.selenic.com/wiki/QuickStart
|
guide: http://mercurial.selenic.com/wiki/QuickStart
|
||||||
|
@ -197,7 +199,9 @@ the issues there and submit your pull requests.
|
||||||
branch: your-branch-name
|
branch: your-branch-name
|
||||||
|
|
||||||
target: pytest-dev/pytest
|
target: pytest-dev/pytest
|
||||||
branch: default
|
branch: default # if it's a feature
|
||||||
|
branch: pytest-VERSION # if it's a bugfix
|
||||||
|
|
||||||
|
|
||||||
.. _contribution-using-git:
|
.. _contribution-using-git:
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
{% set link_color = '#000' %}
|
{% set link_color = '#000' %}
|
||||||
{% set link_hover_color = '#000' %}
|
{% set link_hover_color = '#000' %}
|
||||||
{% set base_font = 'sans-serif' %}
|
{% set base_font = 'sans-serif' %}
|
||||||
{% set header_font = 'sans-serif' %}
|
{% set header_font = 'serif' %}
|
||||||
|
|
||||||
@import url("basic.css");
|
@import url("basic.css");
|
||||||
|
|
||||||
|
@ -265,9 +265,10 @@ p.admonition-title:after {
|
||||||
content: ":";
|
content: ":";
|
||||||
}
|
}
|
||||||
|
|
||||||
pre, tt {
|
pre, tt, code {
|
||||||
font-family: 'Consolas', 'Menlo', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
|
font-family: 'Consolas', 'Menlo', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
|
||||||
font-size: 0.9em;
|
font-size: 0.9em;
|
||||||
|
background: #eee;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.screenshot {
|
img.screenshot {
|
||||||
|
|
|
@ -3,32 +3,53 @@ pytest release checklist
|
||||||
|
|
||||||
For doing a release of pytest (status March 2015) holger does:
|
For doing a release of pytest (status March 2015) holger does:
|
||||||
|
|
||||||
- change version numbers in ``setup.py``, ``_pytest/__init__.py``
|
1. change version numbers in ``setup.py``, ``_pytest/__init__.py``
|
||||||
|
to a final release version.
|
||||||
|
|
||||||
- finalize changelog (especially the header)
|
2. finalize ``./CHANGELOG`` (don't forget the the header).
|
||||||
|
|
||||||
- ``devpi upload`` to an index, run ``devpi test`` from linux and
|
3. write ``doc/en/announce/release-VERSION.txt``
|
||||||
windows and make sure all relevant environments pass (some like py27-pexpect
|
(usually copying from an earlier release version).
|
||||||
on windows fail which is normal because pexpect does not work on windows
|
|
||||||
and tox can currently not have platform-conditional test envs)
|
|
||||||
If tests fail, fix and re-upload.
|
|
||||||
|
|
||||||
- change "version" and "release" in doc/en/conf.py
|
4. change ``version`` and ``release`` in doc/en/conf.py, set ``SITETARGET=latest``
|
||||||
|
in ``doc/en/Makefile``.
|
||||||
|
|
||||||
- regenerate doc examples with ``tox -e regen`` and check with ``hg diff``
|
5. regenerate doc examples with ``tox -e regen`` and check with ``hg diff``
|
||||||
|
if the differences show regressions. It's a bit of a manual process because
|
||||||
|
there a large part of the diff is about pytest headers or differences in
|
||||||
|
speed ("tests took X.Y seconds"). (XXX automate doc/example diffing to ignore
|
||||||
|
such changes and integrate it into "tox -e regen").
|
||||||
|
|
||||||
- change SITETARGET in ``doc/en/makefile`` to "latest" &&
|
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,
|
||||||
``cd doc/en && make install && make install-pdf``
|
an inofficial service from the devpi authors.
|
||||||
creating and installing the pdf requires various latex
|
|
||||||
packages to work.
|
|
||||||
|
|
||||||
- once everything seems fine, do a commit and ``hg tag`` the correct
|
7. run ``devpi use INDEX`` and ``devpi test`` from linux and windows machines
|
||||||
version and issue ``devpi push pytest==VERSION pypi:pypi`` to push
|
and verify test results on the index. On linux typically all environments
|
||||||
the tested package to pypi (in my ``.pypirc`` pypi.python.org is aliased
|
pass (March 2015 there is a setup problem with a cx_freeze environment)
|
||||||
as ``pypi``)
|
but on windows all involving ``pexpect`` fail because pexpect does not exist
|
||||||
|
on windows and tox does not allow to have platform-specific environments.
|
||||||
|
Also on windows ``py33-trial`` fails but should probably pass (March 2015).
|
||||||
|
In any case, py26,py27,py33,py34 are required to pass for all platforms.
|
||||||
|
|
||||||
- **after the release** bump the version numbers in ``setup.py``,
|
8. You can fix tests/code and repeat number 7. until everything passes.
|
||||||
``_pytest/__init__.py``, ``doc/en/conf.py`` and set ``SITETARGET=dev``
|
|
||||||
in ``doc/en/makefile``. commit.
|
|
||||||
|
|
||||||
- congrats :)
|
9. Once you have sufficiently passing tox tests you can do the actual release::
|
||||||
|
|
||||||
|
cd doc/en/
|
||||||
|
make install
|
||||||
|
make install-pdf # a bit optional, if you have latex packages installed
|
||||||
|
|
||||||
|
devpi push pytest-VERSION pypi:NAME
|
||||||
|
hg ci -m "... finalized pytest-VERSION"
|
||||||
|
hg tag VERSION
|
||||||
|
hg push
|
||||||
|
|
||||||
|
10. send out release announcement to pytest-dev@python.org,
|
||||||
|
testing-in-python@lists.idyll.org and python-announce-list@python.org .
|
||||||
|
|
||||||
|
11. **after the release** bump the version numbers in ``setup.py``,
|
||||||
|
``_pytest/__init__.py``, ``doc/en/conf.py`` to the next Minor release
|
||||||
|
version (i.e. if you released ``pytest-2.8.0``, set it to ``pytest-2.9.0.dev1``)
|
||||||
|
and set ``SITETARGET=dev`` in ``doc/en/makefile``. Commit.
|
||||||
|
|
||||||
|
12. already done :)
|
||||||
|
|
Loading…
Reference in New Issue