botkube
botkube copied to clipboard
Automate release process
Is your feature request related to a problem? Please describe.
Currently, the release process for BotKube consists of a set of manual steps (as described in https://github.com/infracloudio/botkube-docs/pull/74). Fortunately, most of the actions are automated in a form of Bash scripts.
We can improve this by automating all the steps, including:
- pushing Helm release charts
- publishing changelog as a part of GitHub release
- triggering rebuilding
botkube.io
docs
from a single entry point, which could be a GitHub Actions pipeline.
Also, create release branches (release-x.y
) for any major and minor releases.
Describe the solution you'd like
A GitHub Actions pipeline, which does all the steps described in the instruction automatically. It could be run manually:
AC
- Implement the GH Actions workflow on botkube repo:
- get rid of the
.release
file - create release branch (unless it's a patch release) and checkout it
- push images
- publish Helm release charts
- create draft GH release
- Publish changelog there (we can use different tool if that make it easier - e.g.
gren
) - We can get rid of CHANGELOG.md
- Publish changelog there (we can use different tool if that make it easier - e.g.
- we can use Bash scripts
- support both major/minor and patch releases - test both scenarios on your fork
- get rid of the
- Implement GH Actions workflow on docs repo:
- create a new docs version
- You can base on https://github.com/capactio/website/blob/main/.github/workflows/make-release.yaml
- Update release documentation
-
WARNING: Analytics key must be included in the built binary
- test that as a part of the release candidates and official release
Examples
- https://github.com/capactio/capact/blob/main/.github/workflows/make-release.yaml (probably won't be that useful)
- https://github.com/capactio/website/blob/main/.github/workflows/make-release.yaml (Docusaurus website)