Automate releases triggered by upstream GitLab patch versions
As #1366 (closed) can testify, the release watcher process is still in working order.
Since the last time it has been actually useful, lots of progress has been made, and we now have an automatic merge system running regularly (both are actually tied, so that the release watcher does not miss a tag because the auto-merge would have been the one to pull it).
By reusing logic done for the auto-merge, it should be possible to fully automate creating an Heptapod release from an upstream patch release. Some ideas:
- abort and file an issue if there is a bump of GitLab Shell version, or a significant Gitaly change (protocol, backups)
- resolve conflicts as in auto-merge (for now just trivial ones such as in issue templates, most unlikely in upstream stable branches, but it could become smarter)
- merge Omnibus (not yet handled by upstream auto-merge process), filing issues upon problems.
- perform MR, monitor it and set the appropriate tag
- ultimately, perform Docker image tagging and pushing
All of this will take some time, because it is very hard to test separately, but it would give us eventually:
- less latency in producing security releases (down to a couple of hours)
- more developer time available for other endeavors.