RELEASING.rst 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. ===============
  2. Releasing bcolz
  3. ===============
  4. :Author: Francesc Alted
  5. :Contact: francesc@blosc.org
  6. :Date: 2014-07-20
  7. Preliminaries
  8. -------------
  9. * Make sure that ``RELEASE_NOTES.rst`` and ``ANNOUNCE.rst`` are up to
  10. date with the latest news in the release.
  11. * Commit your changes::
  12. $ git commit -a -m"Getting ready for X.Y.Z final"
  13. * Once a year: check that the copyright year in ``LICENSES/BCOLZ.txt``
  14. and in ``docs/conf.py`` is up to date.
  15. Tagging
  16. -------
  17. * Create a tag ``X.Y.Z`` from ``master``. Use the next message::
  18. $ git tag -a X.Y.Z -m "Tagging version X.Y.Z"
  19. Note: For release candidates, just add a rcN suffix to tag ("X.Y.ZrcN").
  20. * Or, alternatively, make a signed tag (requires gpg correctly configured)::
  21. $ git tag -s X.Y.Z -m "Tagging version X.Y.Z"
  22. * Push the tag to the Github repo::
  23. $ git push
  24. $ git push --tags
  25. Testing
  26. -------
  27. * After compiling, run::
  28. $ PYTHONPATH=. (or "set PYTHONPATH=." on Win)
  29. $ export PYTHONPATH=. (not needed on Win)
  30. $ python -c "import bcolz; bcolz.test(heavy=True)"
  31. * Run the test suite in different platforms (at least Linux and
  32. Windows) and make sure that all tests passes.
  33. Packaging
  34. ---------
  35. * Make sure that you are in a clean directory. The best way is to
  36. re-clone and re-build::
  37. $ cd /tmp
  38. $ git clone git@github.com:Blosc/bcolz.git
  39. $ cd bcolz
  40. $ python setup.py build_ext
  41. * Check that all Cython generated ``*.c`` files are present.
  42. * Make the tarball with the command::
  43. $ python setup.py sdist
  44. Do a quick check that the tarball is sane.
  45. Uploading
  46. ---------
  47. * Upload it also in the PyPi repository::
  48. $ python setup.py sdist upload
  49. Announcing
  50. ----------
  51. * Send an announcement to the bcolz, blosc, pydata and python-announce
  52. lists. Use the ``ANNOUNCE.rst`` file as skeleton (or possibly as
  53. the definitive version).
  54. * Tweet about the new release and rejoice!
  55. Post-release actions
  56. --------------------
  57. * Create new headers for adding new features in ``RELEASE_NOTES.rst``
  58. and add this place-holder instead:
  59. #XXX version-specific blurb XXX#
  60. * Commit your changes with:
  61. $ git commit -a -m"Post X.Y.Z release actions done"
  62. That's all folks!
  63. .. Local Variables:
  64. .. mode: rst
  65. .. coding: utf-8
  66. .. fill-column: 70
  67. .. End: