An attempt to rub some ChatOps on st2 release machinery. Currently WIP, but it already works as a proof of concept for the request-confirmation mechanics.
Two-step verification works in the following way:
- You request a release with
!release a patch
. - Bot gathers pre-release information (current version, pull requests since the last release, etc.).
- Bot gives a summary along with a confirmation ID: "@emedvedev wants to release, new version will be X.Y.Z, the following PRs were merged, type
!confirm 1234567890abcdef
to confirm." - A team member issues a confirmation command.
- Bot executes pre-flight checks: you can't confirm your own release, ID is valid, request is not too old, etc.
- The release procedure is started.
WIP.