Releases of globus-compute-sdk
and globus-compute-endpoint
are always done with a single version
number, even when only one package has changes.
The process is partially automated with tools to help along the way.
You must have the following tools installed and available:
git
scriv
tox
You will also need the following credentials:
- a configured GPG key in
git
in order to create signed tags - pypi credentials for use with
twine
(e.g. a token in~/.pypirc
) valid for publishingglobus-compute-sdk
andglobus-compute-endpoint
Easy copy for editing all the version files:
$EDITOR compute_sdk/globus_compute_sdk/version.py compute_endpoint/setup.py compute_endpoint/globus_compute_endpoint/version.py
- Bump versions of both packages to a new latest version number by removing
the
-dev
suffix
$EDITOR compute_sdk/globus_compute_sdk/version.py compute_endpoint/globus_compute_endpoint/version.py
-
Update the changelog by running
scriv collect --edit
-
Add and commit the changes to version numbers and changelog files (including the removal of
changelog.d/
files), e.g. as follows
git add changelog.d/ docs/changelog.rst
git add compute_sdk/globus_compute_sdk/version.py compute_endpoint/globus_compute_endpoint/version.py
git commit -m 'Bump versions and changelog for release'
git push
-
Run the release script
./release.sh
from the repo root. This will usetox
and your pypi credentials and will create a signed release tag. At the end of this step, new packages will be published to pypi. -
Push the release tag, e.g.
git push upstream 2.0.2
-
Update the version numbers to the next point version and re-add the
-dev
suffix, then commit and push, e.g.
$EDITOR compute_sdk/globus_compute_sdk/version.py compute_endpoint/globus_compute_endpoint/version.py
git add compute_sdk/globus_compute_sdk/version.py compute_endpoint/globus_compute_endpoint/version.py
git commit -m 'Bump versions for dev'
git push