| * Release checklist |
| |
| - Check that the current virtualenv matches the current coverage branch. |
| - start branch for release work |
| $ make relbranch |
| - Edit version number in coverage/version.py |
| version_info = (4, 0, 2, "alpha", 1) |
| version_info = (4, 0, 2, "beta", 1) |
| version_info = (4, 0, 2, "candidate", 1) |
| version_info = (4, 0, 2, "final", 0) |
| - make sure: _dev = 0 |
| - Edit supported Python version numbers. Search for "PYVERSIONS". |
| - Especially README.rst and doc/index.rst |
| - Update source files with release facts, and get useful snippets: |
| $ make edit_for_release cheats |
| - Look over CHANGES.rst |
| - Update README.rst |
| - "New in x.y:" |
| - Update docs |
| - IF PRE-RELEASE: |
| - Version of latest stable release in doc/index.rst |
| - Make sure the docs are cogged: |
| $ make prebuild |
| - Don't forget the man page: doc/python-coverage.1.txt |
| - Check that the docs build correctly: |
| $ tox -e doc |
| - commit the release-prep changes |
| $ make relcommit1 |
| - Generate new sample_html to get the latest, incl footer version number: |
| - IF PRE-RELEASE: |
| $ make sample_html_beta |
| - IF NOT PRE-RELEASE: |
| $ make sample_html |
| - check in the new sample html |
| $ make relcommit2 |
| - Done with changes to source files |
| - g puo; gshipit |
| - check them in on the release prep branch |
| - wait for ci to finish |
| - merge to master |
| - git push |
| - Start the kits: |
| - opvars github |
| - Trigger the kit GitHub Action |
| $ make build_kits |
| - Build and publish docs: |
| - IF PRE-RELEASE: |
| $ make publishbeta |
| - ELSE: |
| $ make publish |
| - commit and publish nedbatchelder.com |
| - Kits: |
| - Wait for kits to finish: |
| - https://github.com/nedbat/coveragepy/actions/workflows/kit.yml |
| - there should be 52 |
| - test the pypi upload: |
| $ make test_upload |
| - you'll need to approve the action |
| - upload kits: |
| $ make pypi_upload |
| - you'll need to approve the action |
| - Tag the tree |
| $ make tag |
| - Update GitHub releases: |
| $ make clean github_releases |
| - Visit the fixed issues on GitHub and mention the version it was fixed in. |
| $ make comment_on_fixes |
| - deopvars |
| - Bump version: |
| $ make bump_version |
| - Update readthedocs |
| - @ https://readthedocs.org/projects/coverage/versions/ |
| - find the latest tag in the inactive list, edit it, make it active. |
| - keep just the latest version of each x.y release, make the rest active but hidden. |
| - pre-releases should be hidden |
| - IF NOT PRE-RELEASE: |
| - @ https://readthedocs.org/dashboard/coverage/advanced/ |
| - change the "default version" to the new version |
| - Once CI passes, merge the bump-version branch to master and push it |
| - gshipit |
| |
| - things to automate: |
| - readthedocs api to do the readthedocs changes |
| |
| |
| * Testing |
| |
| - Testing of Python code is handled by tox. |
| - Create and activate a virtualenv |
| - pip install -r requirements/dev.pip |
| - $ tox |
| |
| - For complete coverage testing: |
| |
| $ make metacov |
| |
| This will run coverage.py under its own measurement. You can do this in |
| different environments (Linux vs. Windows, for example), then copy the data |
| files (.metacov.*) to one machine for combination and reporting. To |
| combine and report: |
| |
| $ make metahtml |
| |
| - To run the Javascript tests: |
| |
| open tests/js/index.html in variety of browsers. |