galgebra icon indicating copy to clipboard operation
galgebra copied to clipboard

Document the release procedure

Open utensil opened this issue 5 years ago • 4 comments

This is motivated by the fact that I have to refresh my memory every time I make a release.

utensil avatar May 26 '20 16:05 utensil

  1. Never make a release directly and always make a release candidate version first, to test and ensure that the CI is still working properly for publishing to PyPI
  2. review https://github.com/pygae/galgebra/blob/master/.circleci/config.yml : particularly, check all dependencies (as indicated by requires) of publish has filters.tags.only set to /^v.*$/
  3. check https://app.circleci.com/settings/project/github/pygae/galgebra/environment-variables for PYPI_HOST, PYPI_USERNAME, PYPI_PASSWORD and ensure the credentials are up-to-date
  4. check https://pypi.org/project/galgebra/#history for the last release
  5. submit a PR to bump the version in https://github.com/pygae/galgebra/commits/master/galgebra/_version.py , note that there's no v as prefix, it should be something like 0.5.0rc1 and the PR branch should be like 0.5.0rc1-release and the commit log should be like Bump version to 0.5.0rc1, the PR title should be like Release 0.5.0rc1 (add [ci skip] if you know the CI will pass and wish to skip the CI)
  6. Add something like the following to the top of https://github.com/pygae/galgebra/blob/master/doc/changelog.rst and check the doc build at a URL like https://galgebra--404.org.readthedocs.build/en/404/changelog.html with 404 replaced by the PR id
- :release:`0.4.5 <2019.12.31>`
  1. Once the PR is merged, create a release: tag version: v0.5.0rc1 (REMEMBER the prefix v), title same, changelog See [Changelog](https://galgebra.readthedocs.io/en/latest/changelog.html). and check This is a pre-release if it's a release candidate only
  2. check https://github.com/pygae/galgebra/releases to see if the release is created.
  3. check https://app.circleci.com/pipelines/github/pygae/galgebra to see if a CI with the tag is triggered: image
  4. CI succeeded like image
  5. check https://pypi.org/project/galgebra/#history to see if the release is published like image
  6. check the URL like https://pypi.org/project/galgebra/0.5.0rc1/ to see if README is rendered correctly image

utensil avatar May 26 '20 16:05 utensil

Could just add this to a github wiki page

eric-wieser avatar May 26 '20 17:05 eric-wieser

Could have a new section on the GAlgebra main doc for developers and gather some existing documents like maintaining notebook tests and place them altogether since I prefer to have the doc in a central place and version control it under the same git repo, Github Wiki is too limited and it usually ends up porting to the main doc in most open source projects I know of.

utensil avatar Jun 02 '20 05:06 utensil