botkube icon indicating copy to clipboard operation
botkube copied to clipboard

Automate release process

Open pkosiec opened this issue 2 years ago • 0 comments

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:

Screenshot 2022-05-20 at 09 50 56

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
    • we can use Bash scripts
    • support both major/minor and patch releases - test both scenarios on your fork
  • 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)

pkosiec avatar May 20 '22 07:05 pkosiec