Skip to content

Toil Release Instructions

Lon Blauvelt edited this page Oct 13, 2021 · 35 revisions
  1. Create a fresh clone and create branch releases/1.2.x:

     git clone https://github.com/Databiosphere/toil.git
     git checkout -b releases/1.2.x
     git push origin releases/1.2.x
    
  2. In a direct edit to master on Github, bump project version from 1.2.0a1 to 1.3.0a1 in version_template.py.

  3. In a direct commit/push to releases/1.2.x bump project version from 1.2.0a1 to 1.2.0 in version_template.py.

  4. Build the updated branch from a fresh clone:

     git clone https://github.com/Databiosphere/toil.git
     git checkout releases/1.2.x
     virtualenv --system-site-packages -p python3.6 --never-download venv
     . venv/bin/activate
     make prepare
     make develop extras=[all] (must be the same as the extras in Dockerfile.py)
    
  5. Once the tests in step 2 finish, tag the HEAD commit on the releases/1.2.x branch as releases/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
    
  6. 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 number of commits to master since the last release to see the changes. Note contributors.

  7. CI/CD will create and upload the appliance images to quay.io. Note: This used to be done manually with make push_docker.

  8. Once the images are created (CI/CD appliance tests conclude), tag the images with latest and 1.2.0: https://quay.io/repository/ucsc_cgl/toil?tab=tags.

  9. PyPI - WARNING: This step cannot be redone! First make sure that the proper credentials are in ~/.pypirc, then:

     pip install -U pip setuptools
     pip install setuptools wheel twine --upgrade
     python setup.py egg_info sdist bdist_egg upload
     python setup.py bdist_wheel
     twine upload dist/*whl
    
  10. In a direct edit to the releases/1.2.x branch on GitHub, bump project version from 1.2.0 to 1.2.1a1 in version_template.py.

  11. On http://readthedocs.org/projects/toil/, from admin/versions, set version 1.2.0 to active and build it (click Submit).

  12. On http://readthedocs.org/projects/toil/, in admin/advanced, set 1.2.0 to be the default version.

  13. In GitHub, go to settings/branches and add releases/1.2.x as a protected branch if it is not already.

Hotfix Release, e.g. 1.2.1

  1. 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
    
  2. Do step #3 above and the following steps, using 1.2.1, instead of 1.2.0.