Release automation #5866
Labels
kind/feature
Categorizes issue or PR as related to a new feature.
needs-triage
Indicates an issue or PR lacks a `triage/foo` label and requires one.
Eschewed features
What would you like to have added?
Automated release process of Kustomize and its components
Why is this needed?
Releasing kustomize and it's component currently requires 2-3 hours of attended session with a lot of manual steps in between, making the release process slow and inefficient. On top of that, release officer also need to do some extra steps post-release such as unpinning the library versions, returning the branch to dev mode, making PRs, pushing docker image, etc.
Moreover, after the new release scheme, which will synchronise all component's version, the process of determining release size must be reviewed.
By introducing automation we can remove a lot of manual tasks and makes the release experience much smoother and more efficient.
Can you accomplish the motivating task without this feature, and if so, how?
Yes, release can still manually be done by following steps on
releasing/README.md
What other solutions have you considered?
Release automation flow will be described as follows:
For example
./release kyaml major
Release script will (a) create a new branch in the format of
release-{component}/vX.Y.Z
, (b) pin the component version according to the release size supplied, (c) create release draft of that componentIdeally it should notify the maintainers that release has been succeeded / failed. However due to limitation of the implementation we must rely on Github notification or manually check the workflow status
Once release has been completed, release officer will check the release draft and publish them once it's ready.
Automation will be done via Github Workflow
Anything else we should know?
None
Feature ownership
The text was updated successfully, but these errors were encountered: