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

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

Open
2 tasks done
antoooks opened this issue Nov 15, 2023 · 1 comment
Open
2 tasks done
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature. triage/accepted Indicates an issue or PR is ready to be actively worked on.

Comments

@antoooks
Copy link
Contributor

Eschewed features

  • 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 Release automation #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

  • I am interested in contributing this feature myself! 🎉
@antoooks antoooks added the kind/feature Categorizes issue or PR as related to a new feature. label Nov 15, 2023
@k8s-ci-robot k8s-ci-robot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Nov 15, 2023
@antoooks antoooks mentioned this issue Nov 15, 2023
6 tasks
@koba1t
Copy link
Member

koba1t commented Nov 29, 2023

/triage accepted
/assign @antoooks

@k8s-ci-robot k8s-ci-robot added triage/accepted Indicates an issue or PR is ready to be actively worked on. and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Nov 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet
Development

No branches or pull requests

3 participants