-
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
speed up kubernetes builds #2097
speed up kubernetes builds #2097
Conversation
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: BenTheElder 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 |
"build/run.sh", | ||
// bypass make targets to skip running codegen again, call build | ||
// rule implementation directly | ||
"hack/make-rules/build.sh", |
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.
the "all" (default) make target is just:
all: generated_files
hack/make-rules/build.sh $(WHAT)
and has been for over four years. https://github.com/kubernetes/kubernetes/blame/184c6d348c80c1f529b742c8959677817689a182/build/root/Makefile#L91
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.
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.
seven years ago it was hack/build-go.sh $(WHAT)
. around 5 years ago things switched more to make and it went to hack/make-rules/build.sh
and then the dependency on generated_files
was introduced to automatically generate those.
booo, somehow it depends on this (generated files not being synced?) |
yeah, some tests depend on the generated files |
yes, but:
|
The core problem is upstream is still trying to support running the make build against a remote docker which is: Arguably the entire rsync thing should be done away-with in favor of a cached volume mount and no more special treatment for mac's performance issues here. See background: kubernetes/kubernetes#50717 |
kubernetes/kubernetes#100046 instead (will update the PR if/when that lands) |
a27c50a
to
6acf1d5
Compare
e2e working well. need to fix a spelling error |
6acf1d5
to
496a623
Compare
/test all |
1 similar comment
/test all |
/lgtm |
// build images | ||
cmd = exec.Command("make", "quick-release-images").SetEnv(env...) | ||
// build images + binaries (binaries only on 1.21+) | ||
cmd := exec.Command("make", "quick-release-images", "KUBE_EXTRA_WHAT="+strings.Join(what, " ")).SetEnv(env...) |
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.
why added here and not in env?
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.
because it's not common across commands and make supports it either way.
/hold cancel |
@BenTheElder: 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. |
upstream test flakes |
xref: kubernetes/kubernetes#99517
iterating towards what would make sense to have in a make target