Skip to content

Latest commit

 

History

History
31 lines (28 loc) · 1.72 KB

RELEASE_PROCEDURE.md

File metadata and controls

31 lines (28 loc) · 1.72 KB

Steps required for a release

  1. Make a release candidate branch and pull request it into master with the following updates:
    1. Deprecate any stated portion of the API (you can find them by searching the code base for "deprecate")
  2. Confirm that the PR passes all tests and checks
  3. Tag the release number: git tag v<release version>, e.g., git tag v1.2.0
    • THIS IS NOT THE TAGGED COMMIT WE WILL DISTRIBUTE, IT IS ONLY FOR TESTING
    • DO NOT PUSH THIS TAG TO UPSTREAM
  4. Run make publish-on-testpypi
    • this should "just work" if it does not, fix any issues, retag (git tag -d then git tag), and try again
    • note, you need an account on https://test.pypi.org
  5. Once successful, delete the tag, and merge the candidate PR into master on Github
  6. Switch to now updated master branch: git checkout master and git pull upstream master
  7. Tag the release number: git tag v<release version>, e.g., git tag v1.2.0
    • setuptools_scm automatically updates the version number based on the tag
    • this is now the official tagged commit
  8. Push the tag upstream: git push upstream --tags
  9. Run make publish-on-pypi
    • note, you need an account on https://pypi.org
    • this will make wheels that all us to be installed via pip install
  10. Make a new release on Github
    • Make sure that you choose the same tag name as was used earlier
    • Copy the markdown from RELEASE_NOTES.md into the release description box
  11. Update on conda-forge:
    • A PR should automatically be opened by the bot after the Github release
    • confirm that any new depedencies are added there
  12. Confirm that the doc page is updated to the latest release: https://aneris-iamc.readthedocs.io/

And that's it! Whew...