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.
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