-
Notifications
You must be signed in to change notification settings - Fork 243
Toil Release Instructions
-
Update the AWS instance typed by running:
src/toil/utils/toilUpdateEC2Instances.py
Commit the result and PR it. Wait for CI to run and for a reviewer to approve and merge it. This will take about a day.
-
Create branch
releases/1.2.x
:git checkout -b releases/1.2.x
-
In a direct commit/push to
master
, bump project version from1.2.0a1
to1.3.0a1
inversion_template.py
. -
In a direct commit to
releases/1.2.x
, bump project version from1.2.0a1
to1.2.0
inversion_template.py
, and push.git add version_template.py git commit git push origin releases/1.2.x
-
Build the updated branch with a clean build, to make sure
src/toil/version.py
is correct.git checkout releases/1.2.x virtualenv --system-site-packages -p python3.9 --never-download venv # Or: python3.9 -m venv venv . venv/bin/activate make clean make prepare make develop extras='[all]' # (must be the same as the extras in Dockerfile.py)
TODO: Should there be a test step here???
-
Once the tests in step 2 finish, tag the HEAD commit on the
releases/1.2.x
branch asreleases/1.2.0
and push that tag:git tag -a 'releases/1.2.0' -m 'release 1.2.0' git push origin releases/1.2.0
-
On GitHub create a release pointing to this tag. Include release notes giving an overview of bug fixes and new features in this release. Use the Draft Changelog, or the diff linked from the number of commits to
master
since the last release, to see the changes. Note contributors. -
CI/CD will create and upload the appliance images to quay.io. This used to be done manually with
make push_docker
. -
Once the images are created (CI/CD appliance tests conclude), tag the images with
latest
and1.2.0
: https://quay.io/repository/ucsc_cgl/toil?tab=tags. Assign the tags to the build for the latest Python release. Since the image is multi-architecture, this can't be done withdocker tag
; you need to use a tool likeregctl
:
regctl image copy quay.io/ucsc_cgl/toil:8.1.0b1-4bb05349c027096ab4785259e39b2648118b5dd7-py3.13 quay.io/ucsc_cgl/toil:8.1.0b1
regctl image copy quay.io/ucsc_cgl/toil:8.1.0b1-4bb05349c027096ab4785259e39b2648118b5dd7-py3.13 quay.io/ucsc_cgl/toil:latest
-
Build the packages for PyPI.
rm -rf dist pip install --upgrade pip pip install --upgrade setuptools wheel build python -m build
-
Double-check to make sure you aren't including files to the release that shouldn't go there, like one-off development files left lying around. If in doubt, use a fresh clone to do the build (for
version.py
) and package build! -
PyPI - WARNING: This step cannot be redone! First make sure that the proper credentials are in
~/.pypirc
, then:pip install --upgrade twine twine upload dist/*
-
In a direct edit to the
releases/1.2.x
branch on GitHub, bump project version from1.2.0
to1.2.1a1
inversion_template.py
. -
On http://readthedocs.org/projects/toil/, check to make sure that the latest docs built correctly.
-
Create a fresh clone and switch to the branch
releases/1.2.x
:git clone https://github.com/Databiosphere/toil.git git checkout releases/1.2.x
-
Do step #3 above and the following steps, using
1.2.1
, instead of1.2.0
.