Skip to content
P. L. Lim edited this page Nov 13, 2023 · 11 revisions

Where to release

  • PyPI (bot picks up from tag push)
  • GitHub
  • conda-forge (bot picks up from PyPI)
  • Zenodo (bot picks up from GitHub release)

How to release on GitHub

  1. Grab latest code from master: git fetch upstream master
  2. Grab all the tags from this repo: git fetch upstream --tags
  3. Make sure you are on the branch that you intend to release from: git checkout master -> git rebase upstream/master
  4. Check git status (must be clean) and git log (must contain correct history).
  5. Optional: Remove files not under version control: git clean -xdf
  6. Tag the release (replace X.Y.Z with real version number; replace -s with -a if you do not have GPG): git tag -s "X.Y.Z" -m "Tagging version X.Y.Z"
  7. Push the tag (replace X.Y.Z with real version number; replace upstream with whatever you name the repo that points to this repo, not your fork): git push upstream X.Y.Z
  8. Wait for the "Wheel building" (https://github.com/spacetelescope/acstools/actions/workflows/publish-to-pypi.yml) job associated with your release tag to finish running and make sure it succeeds.
  9. Edit release tag on GitHub to add change log and publish release.

How to release on PyPI

Check the logs under https://github.com/spacetelescope/acstools/actions/workflows/publish-to-pypi.yml . This should be done automatically when a new tag is pushed out. If successful, you will see it on https://pypi.org/project/acstools/ . If it failed, you have to fix whatever that failed and go through the release process above again.

Other release outlets

  • Wait for a notification from conda-forge feedstock, review its PR, fix (if needed), and merge.
  • Check acstools page on Zenodo.

Lack of milestone

This is a low-traffic package. Therefore, there is no milestone being used to track GitHub PRs. A release is made when ACS Team wants it and whether it is a major/minor/bugfix depends on what went in since the last release.