summaryrefslogtreecommitdiffstats
path: root/third_party/python/coverage/howto.txt
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/python/coverage/howto.txt')
-rw-r--r--third_party/python/coverage/howto.txt122
1 files changed, 122 insertions, 0 deletions
diff --git a/third_party/python/coverage/howto.txt b/third_party/python/coverage/howto.txt
new file mode 100644
index 0000000000..3653e830a7
--- /dev/null
+++ b/third_party/python/coverage/howto.txt
@@ -0,0 +1,122 @@
+* Release checklist
+
+- Check that the current virtualenv matches the current coverage branch.
+- 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)
+- Python version number in classifiers in setup.py
+- Copyright date in NOTICE.txt
+- Update CHANGES.rst, including release date.
+ - don't forget the jump target
+- Update README.rst
+ - "New in x.y:"
+ - Python versions supported
+- Update docs
+ - Python versions in doc/index.rst
+ - Version of latest stable release in doc/index.rst
+ - Version, release, release_date and copyright date in doc/conf.py
+ - Look for CHANGEME comments
+ - Don't forget the man page: doc/python-coverage.1.txt
+ - Check that the docs build correctly:
+ $ tox -e doc
+ there will be warnings about the readthedocs links being broken,
+ because this version's docs haven't been published yet.
+ - Done with changes to source files, check them in.
+ - git push
+ - Generate new sample_html to get the latest, incl footer version number:
+ make clean
+ pip install -e .
+ cd ~/cog/trunk
+ rm -rf htmlcov
+ coverage run --branch --source=cogapp -m pytest -k CogTestsInMemory; coverage combine; coverage html
+ - IF PRE-RELEASE:
+ rm -f ~/coverage/trunk/doc/sample_html_beta/*.*
+ cp -r htmlcov/ ~/coverage/trunk/doc/sample_html_beta/
+ - IF NOT PRE-RELEASE:
+ rm -f ~/coverage/trunk/doc/sample_html/*.*
+ cp -r htmlcov/ ~/coverage/trunk/doc/sample_html/
+ cd ~/coverage/trunk
+ - IF NOT PRE-RELEASE:
+ check in the new sample html
+ - Build and publish docs:
+ - IF PRE-RELEASE:
+ $ make publishbeta
+ - ELSE:
+ $ make publish
+- Kits:
+ - Start fresh:
+ - $ make sterile
+ - Source kit and wheels:
+ - $ make kit wheel
+ - Linux wheels:
+ - $ make kit_linux
+ - Windows kits
+ - wait for over an hour for Appveyor to build kits.
+ - https://ci.appveyor.com/project/nedbat/coveragepy
+ - $ make download_appveyor
+ - examine the dist directory, and remove anything that looks malformed.
+ - test the pypi upload:
+ - $ make test_upload
+- Update PyPI:
+ - upload kits:
+ - $ make kit_upload
+- Tag the tree
+ - git tag coverage-3.0.1
+ - git push --tags
+- Bump version:
+ - coverage/version.py
+ - increment version number
+ - IF NOT PRE-RELEASE:
+ - set to alpha-0 if just released.
+ - CHANGES.rst
+ - add an "Unreleased" section to the top.
+ - git push
+- Update Tidelift:
+ - make upload_relnotes
+- Update readthedocs
+ - IF NOT PRE-RELEASE:
+ - update git "stable" branch to point to latest release
+ - git branch -f stable <latest-tag>
+ - git push --all
+ - visit https://readthedocs.org/projects/coverage/builds/
+ - wait for the new tag build to finish successfully.
+ - visit https://readthedocs.org/dashboard/coverage/advanced/
+ - change the default version to the new version
+ - visit https://readthedocs.org/projects/coverage/versions/
+ - find the latest tag in the inactive list, edit it, make it active.
+ - readthedocs won't find the tag until a commit is made on master.
+ - keep just the latest version of each x.y release, make the rest inactive.
+- Visit the fixed issues on GitHub and mention the version it was fixed in.
+ - make a milestone for the next release and move open issues into it.
+- Announce:
+ - twitter @coveragepy
+ - nedbatchelder.com blog post?
+ - testing-in-python mailing list?
+
+
+* Testing
+
+- Testing of Python code is handled by tox.
+ - Create and activate a virtualenv
+ - pip install -r requirements/dev.pip
+ - $ tox
+
+- Testing on Linux:
+ - $ make test_linux
+
+- 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.