kustomize icon indicating copy to clipboard operation
kustomize copied to clipboard

Add release automation for api, kyaml, cmd/config, and kustomize CLI

Open antoooks opened this issue 2 years ago • 5 comments

Eschewed features

  • [X] This issue is not requesting templating, unstuctured edits, build-time side-effects from args or env vars, or any other eschewed feature.

What would you like to have added?

We need github action definitions for

  • Releasing api module
  • Releasing kyaml module
  • Releasing cmd/config module
  • Releasing kustomize CLI
  • Notify release and test result to messaging channels (e.g. Slack)

Why is this needed?

  • As part of release automation improvement https://github.com/kubernetes-sigs/kustomize/issues/3952
  • We need to automate current release process to ensure stability and efficiency
  • Reducing toil of releasing

Can you accomplish the motivating task without this feature, and if so, how?

Yes, by following the release documentation on releasing/README.md with several manual task. This task simply act as an improvement for current release process

What other solutions have you considered?

For releasing process, I have considered pure bash scripting as alternative. While it might give flexibility, it's more difficult maintain and less readable. Decided to use Github action instead considering it as current tools used for releasing and can integrate seamlessly with Github features.

For notification feature, I have discussed with the maintainer and we have decided to send the notifications to maintainers' email, considering creating Slack account will require additional wait for action from kubernetes' Slack maintainer. However this decision might change if Github action is not suitable for this feature.

Anything else we should know?

CI/CD design should follow CI/CD best practices, there is no single rule on what best practice is. But generally guides share common characteristics:

  • CI/CD steps should be split into individual stages
  • Automate as much as possible
  • Operations are idempotent and retryable
  • Enable roll back mechanism
  • Enable manual mechanism
  • Notify people for faster reaction, notification feature is more of a nice-to-have
  • For more, refer to this page: https://resources.github.com/ci-cd/

I have discussed with the maintainers for the release design and there's a collaboration page as a reference. Please find it here

Feature ownership

  • [X] I am interested in contributing this feature myself! 🎉

antoooks avatar Nov 15 '23 14:11 antoooks

/triage accepted /assign @antoooks

koba1t avatar Nov 29 '23 19:11 koba1t

This issue has not been updated in over 1 year, and should be re-triaged.

You can:

  • Confirm that this issue is still relevant with /triage accepted (org members only)
  • Close this issue with /close

For more details on the triage process, see https://www.kubernetes.dev/docs/guide/issue-triage/

/remove-triage accepted

k8s-triage-robot avatar Nov 28 '24 19:11 k8s-triage-robot

/triage accepted

koba1t avatar Nov 29 '24 11:11 koba1t

This issue has not been updated in over 1 year, and should be re-triaged.

You can:

  • Confirm that this issue is still relevant with /triage accepted (org members only)
  • Close this issue with /close

For more details on the triage process, see https://www.kubernetes.dev/docs/guide/issue-triage/

/remove-triage accepted

k8s-triage-robot avatar Nov 29 '25 11:11 k8s-triage-robot

/triage accepted

koba1t avatar Nov 29 '25 13:11 koba1t