diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 2e09f493b..73f391d75 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -147,7 +147,9 @@ the issues there and submit your pull requests. $ hg clone ssh://hg@bitbucket.org/YOUR_BITBUCKET_USERNAME/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 guide: http://mercurial.selenic.com/wiki/QuickStart @@ -197,7 +199,9 @@ the issues there and submit your pull requests. branch: your-branch-name target: pytest-dev/pytest - branch: default + branch: default # if it's a feature + branch: pytest-VERSION # if it's a bugfix + .. _contribution-using-git: diff --git a/doc/en/_themes/flask/static/flasky.css_t b/doc/en/_themes/flask/static/flasky.css_t index a4c2b17fa..6b593da29 100644 --- a/doc/en/_themes/flask/static/flasky.css_t +++ b/doc/en/_themes/flask/static/flasky.css_t @@ -12,7 +12,7 @@ {% set link_color = '#000' %} {% set link_hover_color = '#000' %} {% set base_font = 'sans-serif' %} -{% set header_font = 'sans-serif' %} +{% set header_font = 'serif' %} @import url("basic.css"); @@ -265,9 +265,10 @@ p.admonition-title:after { content: ":"; } -pre, tt { +pre, tt, code { font-family: 'Consolas', 'Menlo', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace; font-size: 0.9em; + background: #eee; } img.screenshot { diff --git a/doc/en/release.txt b/doc/en/release.txt index 868ef9f0d..fc8c1ffd4 100644 --- a/doc/en/release.txt +++ b/doc/en/release.txt @@ -3,32 +3,53 @@ pytest release checklist 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 - windows and make sure all relevant environments pass (some like py27-pexpect - 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. +3. write ``doc/en/announce/release-VERSION.txt`` + (usually copying from an earlier release version). -- 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" && - ``cd doc/en && make install && make install-pdf`` - creating and installing the pdf requires various latex - packages to work. +6. ``devpi upload`` to `your developer devpi index `_. You can create your own user and index on https://devpi.net, + an inofficial service from the devpi authors. -- once everything seems fine, do a commit and ``hg tag`` the correct - version and issue ``devpi push pytest==VERSION pypi:pypi`` to push - the tested package to pypi (in my ``.pypirc`` pypi.python.org is aliased - as ``pypi``) +7. run ``devpi use INDEX`` and ``devpi test`` from linux and windows machines + and verify test results on the index. On linux typically all environments + pass (March 2015 there is a setup problem with a cx_freeze environment) + 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``, - ``_pytest/__init__.py``, ``doc/en/conf.py`` and set ``SITETARGET=dev`` - in ``doc/en/makefile``. commit. +8. You can fix tests/code and repeat number 7. until everything passes. -- 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 :)