Skip to content
P. L. Lim edited this page Jul 31, 2020 · 15 revisions

Where to release

  • GitHub
  • PyPI
  • conda-forge (bot picks up from PyPI)
  • astroconda
  • Zenodo

How to release on GitHub, PyPI, and Zenodo

There are some old release branches but this package is low-traffic enough that we stopped using release branches.

  1. pip install pep517 --upgrade
  2. Grab latest code from master
  3. Grab all the tags from this repo
  4. Make sure you are on the branch that you intend to release from
  5. Check git status (must be clean) and git log (must contain correct history)
  6. git clean -xdf
  7. Finalize change log for release, add, and commit.
  8. git tag -s "X.Y.Z" -m "Tagging version X.Y.Z" (replace X.Y.Z with real version number)
  9. git checkout X.Y.Z
  10. umask 0022
  11. chmod -R a+Xr .
  12. python -m pep517.build --source .
  13. git push <remote> X.Y.Z (replace <remote> with remote name that points to this repo)
  14. gpg --detach-sign -a dist/*.tar.gz (requires GPG to be set up)
  15. twine check dist/*
  16. twine upload dist/*.tar.gz* (requires write access to PyPI package area)
  17. git checkout master
  18. Add change log entry for next release, add, and commit.
  19. git push origin master
  20. git checkout stable
  21. git reset --hard <version>
  22. git push <remote> stable --force
  23. Edit release tag on GitHub to add change log
  24. Upload dist/*.tar.gz to Zenodo (requires write access to Zenodo page)

Other release outlets

  • Open a PR on astroconda/astroconda-contrib to update recipe. Usually this is done together with stsynphot.
  • Wait for a notification from conda-forge feedstock, review its PR, fix (if needed), and merge.
  • Check https://readthedocs.org/projects/synphot/builds/
Clone this wiki locally