Checklist for making a new tagged release - GalSim-developers/GalSim GitHub Wiki

Before tagging:

  • Ask GalSim-developers to all check compilation, unit tests, and demos one last time; fix any issues that arise.
  • On each machine/system/configuration being tested, check the following:
    • scons tests
    • run_all_tests in GalSim/tests directory
    • check_yaml in GalSim/examples directory
    • check_json in GalSim/examples directory
    • check_des in GalSim/examples directory
  • Check the status of Travis CI builds.
  • Rachel to check that check_json doesn't have issues with demos being out of date, and/or update it and docstrings accordingly.
  • Update the __version__ number in _version.py to the full M.m.r version number.
  • Update README.md, Doxyfile, wiki pages with new version number.
  • Ask Joe to update the online Doxygen documentation to correspond to the current master branch, and change the link name to reflect the new version number.
  • Check that the online Config Documentation is correct. (For a new major release, first copy the old docs to a new directory named for the version number.)
  • Check that the online tutorial guide is not out-of-date.
  • Finally, update any broken links in the quick reference guide and check for any other ways that it might be out of date.

Tagging:

git tag -a vM.m.r -m MESSAGE
git push --tags
git checkout -b releases/M.m
git push -u origin releases/M.m

where M,m are major/minor version numbers, and r is the revision. So, the tag is something like v1.0.0, and the branch is releases/1.0. The last two steps (making the new releases branch) only have to be done for the first revision, r=0.

After tagging:

  • After a new major or minor version (i.e. not just a bugfix revision), update the version number in galsim/_version.py to M.(m+1) (with no revision number).
  • Upload to pypi:
    • python setup.py install
    • rm -r GalSim.egg-info
    • python setup.py sdist
    • tar tfz dist/GalSim-M.m.r.tar.gz Look it over to make sure it has what we want.
    • python setup.py sdist upload
    • From another computer, pip install -U galsim
  • Ask Mike to get it on fink.
  • Ask Dustin to get it on homebrew.
  • Ask Rachel to update macports Portfiles.
  • E-mail galsim-announce list about new tagged version.
  • Put CHANGELOG stuff into HISTORY (editing it down a bit for brevity), make new blank CHANGELOG
  • If not just a bugfix revision (i.e. the version is M.m.0), then update the "default branch" in the GitHub settings page to make the front page on GitHub point to the new branch for this release.