How to deploy a new Hail version


  1. Having the Hail pypi credentials locally:
$ env | rg TWINE

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


  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/ 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 make deploy. Specifying DEPLOY_REMOTE makes it so that ssh git users and http git users both can deploy correctly.