-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Added release builder #2020
Added release builder #2020
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: micahhausler The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
@micahhausler: The following test failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
First: thanks for the PR! 😄
I've been thinking about this for v0.11.0 and I think we want to support this but not quite like this:
Most of these are not a blocker for adding this, but I think instead of adding a new flag we should go ahead and deprecate kube-root in favor of passing through the arguments to leave room for these additional mode without a proliferation of mode-specific flags. Most of the modes should be able to translate a string specifying the source location (kubernetes source dir, yaml nodeImage spec filepath, or remote release URI), with some code to detect which the argument is. The flag controlling build mode for source builds can go away with kubernetes/kubernetes#88553 (I haven't mentioned this yet, but I'm actively drafting a concrete proposal for this before circling back to #166 / #381 ...) aside: we prefer to discuss design for features in issues before moving to pull requests, check out our detailed new contributor guide for this and more 🙃 https://kind.sigs.k8s.io/docs/contributing/getting-started/
I'm not sure how we want to approach this, we've been able to get pretty good coverage of these because we build from source in CI, I think perhaps at least one of the github actions jobs should move to using this build from release to ensure coverage. |
this currently fails |
I'm happy to close this out and come up with a better design first. This was a quick POC, and I'm glad to hear you're already thinking about grabbing pre-built artifacts from somewhere else. |
The release builder fetches pre-built Kubernetes artifacts for a node image from a standard upstream release URL.
Reviewer notes:
New{Docker,Bazel,Release}Builder()
signature to include thereleaseUrl
parameter. This parameter is unused in Docker/Bazel, but thekubeRoot
param is unused in the ReleaseBuilder. I did this to simplify the diff so thatnameToImpl
could just add"release"
as one more item in the switch statement. Let me know if a larger refactor is preferred.