How to deploy a new Hail version

Requires:

  1. Having the Hail pypi credentials locally:
$ env | rg TWINE
HAIL_TWINE_CREDS_FOLDER=/Users/tpoterba/.hail-pypi-creds

$ ls /Users/tpoterba/.hail-pypi-creds/
pypi-password pypi-username

Steps

  1. Make a PR that includes the following changes:
    • Increment HAIL_PIP_VERSION in hail/Makefile
    • Increment PATCH in hail/build.gradle
    • Update hail/python/hail/docs/change_log.md using the style in other change messages. A note should be included for user-facing changes and bugfixes, including performance. Correctness bugs should be emphasized.
  2. Once the PR goes in, check out the master branch on that commit locally.
  3. From ./hail, run:
    DEPLOY_PROD=1 make deploy
    
  1. Go here and draft a new release. Select the tag, call it the same name as the tag, and describe it as “Hail version X.”;

These days, instead of DEPLOY_PROD=1 make deploy, you’d actually want DEPLOY_REMOTE=git@github.com:hail-is/hail.git make deploy. Specifying DEPLOY_REMOTE makes it so that ssh git users and http git users both can deploy correctly.