howto.txt 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. * Making a working tree
  2. mkvirtualenv -p /usr/local/pythonz/pythons/CPython-2.7.11/bin/python coverage
  3. pip install -U pip
  4. pip install -r requirements/dev.pip
  5. * Release checklist
  6. - Version number in coverage/version.py
  7. version_info = (4, 0, 2, 'alpha', 1)
  8. version_info = (4, 0, 2, 'beta', 1)
  9. version_info = (4, 0, 2, 'candidate', 1)
  10. version_info = (4, 0, 2, 'final', 0)
  11. - Python version number in classifiers in setup.py
  12. - Copyright date in NOTICE.txt
  13. - Update CHANGES.rst, including release date.
  14. - Update README.rst, including "New in x.y:"
  15. - Update docs
  16. - Version, date, and changes in doc/changes.rst
  17. - Version, date and python versions in doc/index.rst
  18. - Version and copyright date in doc/conf.py
  19. - Don't forget the man page: doc/python-coverage.1.txt
  20. - Check that the docs build correctly:
  21. $ tox -e doc
  22. - Done with changes to source files, check them in.
  23. - hg push
  24. - Generate new sample_html to get the latest, incl footer version number:
  25. pip install -e .
  26. cd ~/cog/trunk
  27. rm -rf htmlcov
  28. coverage run --branch --source=cogapp -m nose cogapp/test_cogapp.py:CogTestsInMemory
  29. coverage combine
  30. coverage html
  31. - IF BETA:
  32. rm -f ~/coverage/trunk/doc/sample_html_beta/*.*
  33. cp -r htmlcov/ ~/coverage/trunk/doc/sample_html_beta/
  34. - ELSE:
  35. rm -f ~/coverage/trunk/doc/sample_html/*.*
  36. cp -r htmlcov/ ~/coverage/trunk/doc/sample_html/
  37. cd ~/coverage/trunk
  38. check in the new sample html
  39. - IF BETA:
  40. - Build and publish docs:
  41. $ make publishbeta
  42. - ELSE:
  43. - Build and publish docs:
  44. $ make publish
  45. - Kits:
  46. - Source kit and wheels:
  47. - $ make clean kit wheel
  48. - Windows kits
  49. - wait for over an hour for Appveyor to build kits.
  50. - https://ci.appveyor.com/project/nedbat/coveragepy
  51. - $ make download_appveyor
  52. - examine the dist directory, and remove anything that looks malformed.
  53. - Update PyPi:
  54. - $ make pypi
  55. - upload kits:
  56. - $ make kit_upload
  57. - Visit http://pypi.python.org/pypi?%3Aaction=pkg_edit&name=coverage :
  58. - show/hide the proper versions.
  59. - Tag the tree
  60. - hg tag -m "Coverage 3.0.1" coverage-3.0.1
  61. - Update nedbatchelder.com
  62. - Blog post?
  63. - Update readthedocs
  64. - visit https://readthedocs.org/projects/coverage/versions/
  65. - find the latest tag in the inactive list, edit it, make it active.
  66. - IF NOT BETA:
  67. - visit https://readthedocs.org/dashboard/coverage/advanced/
  68. - change the default version to the new version
  69. - Update bitbucket:
  70. - Issue tracker should get new version number in picker.
  71. # Note: don't delete old version numbers: it marks changes on the tickets
  72. # with that number.
  73. - Announce on coveragepy-announce@googlegroups.com .
  74. - Announce on TIP.
  75. * Building
  76. - Create PythonXX\Lib\distutils\distutils.cfg::
  77. [build]
  78. compiler = mingw32
  79. * Testing
  80. - Testing of Python code is handled by tox.
  81. - Create and activate a virtualenv
  82. - pip install -r requirements/dev.pip
  83. - $ tox
  84. - For complete coverage testing:
  85. $ make metacov
  86. This will run coverage.py under its own measurement. You can do this in
  87. different environments (Linux vs. Windows, for example), then copy the data
  88. files (.metacov.*) to one machine for combination and reporting. To
  89. combine and report:
  90. $ make metahtml
  91. - To run the Javascript tests:
  92. open tests/js/index.html in variety of browsers.