-
Notifications
You must be signed in to change notification settings - Fork 499
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
Refactor krel obs specs
command
#3079
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's fix the CI and iterate on this, great work!
I assume we don't break anything existing with that change, correct? |
Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
That's correct, this command is not used at all currently. |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: saschagrunert, xmudrii The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/test pull-release-test |
What type of PR is this?
/kind feature
What this PR does / why we need it:
krel obs specs
command was initially implemented as a clone ofkubepkg
for the proof-of-concept purposes. Given that, there are some issues:kubepkg
was created with an idea to support both building specs and running the build process. Running the build process is not needed with the OBS workflow because OBS is taking care of thatkubepkg
was supporting both Deb and RPM packages/specs, but Deb packages/specs are now autogenerated on build time with debbuild in the OBS pipelinekrel obs specs
fromkrel stage
(before binaries are available ondl.k8s.io
)krel obs specs
to be universal and reusable, i.e. that any Kubernetes subproject can use this toolThe idea behind this subcommand was presented on SIG Release meeting held on 2023-05-23.
This PR refactors the
krel obs specs
subcommand to accomplish goals stated above. Significant changes include:krel obs specs
now works with a single package instead of multiple packages. There's going to be a wrapper on top of this command (krel obs stage
) that's going to support multiple packages and work with OBScmd/krel/templates/latest/metadata.yaml
). Previously, those information was stored inside thekubepkg
(krel
) code. This change improves the reusability ofkrel obs specs
outside the core Kubernetes contextThe end goal is to have a workflow similar to image promotion, but that's a long-term goal that's out of scope for alpha and beta stages.
Which issue(s) this PR fixes:
Fixes #3049
Special notes for your reviewer:
Does this PR introduce a user-facing change?
/assign @saschagrunert @cpanato
cc @kubernetes/release-engineering