-
Make sure you have a gpg key setup for use with git. git-scm.com guide for detail
-
The github
ghCLI is used for example commands. You can perform the same steps with the web UI if you prefer.
-
Make sure your repo is on
mainand 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_VERSIONenv 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-releaseThis 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.orggets 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.)