- pip: https://pypi.org/project/pyam-iamc/ and https://test.pypi.org/project/pyam-iamc/
- conda: https://github.com/conda-forge/pyam-feedstock/
- rtd: https://readthedocs.org/projects/pyam-iamc/
- Make a release candidate branch (e.g.,
release/rc_v<release version>
) and pull request it intomain
with the following updates:- If it's the first release in a new year,
search for
Copyright 2017
and bump the year - Deprecate any stated portion of the API (you can find them by searching the code base for "deprecate")
- Update
RELEASE_NOTES.md
(see the examples of previous releases)- replace "# Next Release" with "# Release v"
- for this new release, add a "## Highlights" section with the most important updates & changes
- add a new heading "## Individual Updates" before the PR listing
- If it's the first release in a new year,
search for
- Confirm that the PR passes all tests and checks
- 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
- Run
make publish-on-testpypi
- this should "just work" - if it does not, fix any issues,
retag (
git tag -d
thengit tag
), and try again
- this should "just work" - if it does not, fix any issues,
retag (
- Once successful, delete the tag, and merge the candidate PR into
main
on Github - Switch to the now-updated main branch:
git checkout main
andgit pull upstream main
- Tag the release number:
git tag v<release version>
, e.g.,git tag v1.2.0
versioneer
automatically updates the version number based on the tag- this is now the official tagged commit
- Push the tag upstream:
git push upstream --tags
- Run
make publish-on-pypi
- this will make wheels that allow
pyam
to be installed viapip install
- check that the new version is available at https://pypi.org/project/pyam-iamc/
- this will make wheels that allow
- Make a new release on Github
- make sure that you choose the tag name defined above
- copy the release summary from
RELEASE_NOTES.md
into the description box
- 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
- merge the PR
- check that the new version is available at https://anaconda.org/conda-forge/pyam
- Confirm that the doc pages are updated on https://pyam-iamc.readthedocs.io/
- both the latest and the stable versions point to the new release
- the new release has been added to the list of available versions
- Add a new line "# Next Release" at the top of
RELEASE_NOTES.md
and commit tomain
- Announce it on our mailing list: https://groups.io/g/pyam
- again, copy the rendered HTML from the Github release directly in the email
And that's it! Whew...