Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release Automation #751

Merged
merged 246 commits into from
Sep 28, 2022
Merged

Release Automation #751

merged 246 commits into from
Sep 28, 2022

Conversation

huseyinbabal
Copy link
Contributor

@huseyinbabal huseyinbabal commented Sep 22, 2022

Description

Changes proposed in this pull request:

  • Full automation is introduced to the release process
  • This automation contains 2 main phases, Cut a new release and Finalize Release. Cut a new release is used once we decide to cut-off the main or release branch for a specific milestone. Finalize release is used to mark the release as stable once we verify everything in prerelease.

Code Freeze

Screen Shot 2022-09-27 at 02 06 17
Screen Shot 2022-09-27 at 02 06 57

Next Release Candidate

Once the release branch is pushed, it triggers a subsequent release candidate preparation that contains;

  • Linter check
  • Artifact generation (docker image, etc)
  • Processing helm charts
  • Change log generation

For example, once Helm charts are processed, changes are automatically pushed to the release branch. Here is some view of those.

Screen Shot 2022-09-22 at 17 08 37
Screen Shot 2022-09-22 at 17 09 09
Screen Shot 2022-09-22 at 17 13 00

Finalize Release

Once we verify everything in prereleases, we can just finalize the release.
Screen Shot 2022-09-22 at 17 10 18
Screen Shot 2022-09-22 at 17 10 48

Related issue(s)

Fixes #584
Documentation

@huseyinbabal
Copy link
Contributor Author

I addressed all the items, now;

  • There is v prefix for release tags
  • We have release branches for minor and major releases. Multiple patch releases share same release branch
  • Helm version in values yaml fixed
  • skip-ci added for other required workflows
  • Unused release scripts are removed
  • .release file is removed

Copy link
Contributor

@mszostok mszostok left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left additional comments, I will test that now on my fork now 👍

.github/workflows/cut-new-release.yml Show resolved Hide resolved
.github/workflows/cut-new-release.yml Show resolved Hide resolved
.github/workflows/cut-new-release.yml Show resolved Hide resolved
.github/workflows/cut-new-release.yml Outdated Show resolved Hide resolved
.github/workflows/cut-new-release.yml Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
Makefile Show resolved Hide resolved
.github/workflows/chart-testing.yaml Outdated Show resolved Hide resolved
@huseyinbabal
Copy link
Contributor Author

I left additional comments, I will test that now on my fork now 👍

Thanks, addressed them all, triggering jobs on my end too

Copy link
Contributor

@mszostok mszostok left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was not able to do the patch release 😞
EDIT: my fault.

.github/workflows/next-rc.yml Outdated Show resolved Hide resolved
.github/workflows/next-rc.yml Outdated Show resolved Hide resolved
.github/workflows/finalize-release.yml Outdated Show resolved Hide resolved
.github/workflows/next-rc.yml Show resolved Hide resolved
@huseyinbabal
Copy link
Contributor Author

@mszostok addressed the items we discussed today

Copy link
Contributor

@mszostok mszostok left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

my flow:

  • Cut v0.55.0
    • we have v0.55.0-rc.1
  • Introduce new change
    • we have v0.55.0-rc.2
  • Click finalize release
    • we have v.0.52.0

All Helm charts looks good (image updated). Docker images are present in my ghcr.io

All Helm charts looks good (image updated). Docker images are present in my ghcr.io

LGTM 👍 a really nice job!

Before merging, please see my last comments:

.github/workflows/process-chart.yml Outdated Show resolved Hide resolved
.github/workflows/next-rc.yml Show resolved Hide resolved
@huseyinbabal huseyinbabal merged commit 6bb73be into kubeshop:main Sep 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci Related to CI pipelines enhancement New feature or request
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Automate release process
4 participants