Versioning Hail

I’m feeling like continuous deployment is a bad model for most of our users. I propose that we (a) continue to do continuous deployment, but (b) do the following:

  • make [bi]weekly patch releases, following semantic versioning.
  • tag these releases in git and deploy them to pip
  • post a changelog with user-facing (including performance) updates

As part of moving cloudtools into the repo, I think we should deploy it in pip with Hail. Here’s a question:

  • should running the hail GCP tool start a cluster using:
    • the same version as the pip-downloaded version?
    • the latest version?

If we do the former, we could add a --latest flag which makes it possible to use the latest hash.

This all seems fine, I guess. I sort of don’t want users to cling to one patch version though because we’re constantly making improvements. But, I guess eventually we’ll have the service and it will continually improve itself behind the scenes anyway.

We should require PR messages and titles to be good change log entries so we can automatically generate the change log

I don’t want to automatically generate the changelog, at least not as a first pass. Certainly every commit should not be included – I think there are only a few notable changes per week these days.

I do think at some point we’ll need to automate it at some point, but we need to understand what information is useful to users first, and that process is manual