-
Make sure you have a gpg key setup for use with git. git-scm.com guide for detail
-
The github
gh
CLI is used for example commands. You can perform the same steps with the web UI if you prefer.
-
Make sure your repo is on
main
and up to date;git checkout main; git pull
-
Read
changelog.d/
and decide if the release is MINOR or PATCH -
(optional) Set the version in the
CLI_VERSION
env var, for use in the following steps:CLI_VERSION=...
-
Create a release branch;
git checkout -b release-$CLI_VERSION
-
Update the version in
src/globus_cli/version.py
-
Update changelog;
make prepare-release $(EDITOR) changelog.adoc
-
Add changed files;
git add changelog.d/ changelog.adoc src/globus_cli/version.py
-
Commit;
git commit -m 'Bump version and changelog for release'
-
Push the release branch;
git push -u origin release-$CLI_VERSION
-
Open a PR for review
gh pr create --base main --title "Release v$CLI_VERSION"
-
After any changes and approval, merge the PR, checkout
main
, and pull;git checkout main; git pull
-
-
Tag the release;
make tag-release
This will run a workflow to publish to test-pypi -
Create a GitHub release with a copy of the changelog This will run a workflow to publish to pypi
-
Ensure that
docs.globus.org
gets updated with new docs/changelog Procedure is set in that repo. -
Send an email announcement to the Globus Discuss list with highlighted changes and a link to the GitHub release page. (If the Globus Python SDK is releasing within a short interval, combine both announcements into a single email notice.)