Hi Druids, I was thinking about the 0.21.0 release vote that was just happening, and found it tedious to help with the vote because I needed to build the code from source as well as run all the tests on my local machine. This got me thinking about what are the key steps that we should check manually in the release process and what steps can we rely on automation that exists in Travis today. I don't have full context on what steps are needed, but I thought I'd start a thread to hear from everyone about what steps should be done before a release, and whether any of them need to be done manually, or if we could leverage our CI pipelines to replace these steps.
What I think should be done before the release? - Run all unit tests - RAT License checks - Run all integration tests - Verify checksums - Verify signatures - Verify release notes contain What I think should be done manually (because automation doesn't exist today): - Verify docker pull works - Verify Druid can start from the pulled docker image - Verify no open issues on github with the milestone for the version being released - Verify release notes contains a note about all issues marked with release notes label What I think should always be done manually: - Vote on whether any features are being released that are incomplete - Verify that all the automated tests that run for the tag have actually passed (maybe this can be automated too?) Look forward to hearing thoughts on this :)