-
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
bazel: derive exec path of go binaries from action graph #1841
Conversation
7f16e69
to
d291b5a
Compare
a9a8057
to
8d75d6d
Compare
That's a bit ridiculous. The bazel output directories are documented. In any sane build system I would expect to be able to obtain built binaries without having to construct some query and parse the output :/ This is another one for kubernetes/kubernetes#88553 @dims @thockin @justaugustus
I also take issue with this. We're only conditionally checking against one breakage ever when upstream introduced limited cross compilation in 1.14+, which changed the binary names. There's nothing fragile about the existing logic, bazel's output is fragile. |
/lgtm I appreciate filing a fix for kubernetes/kubernetes#94449, but I think this highlights why we have near zero adoption of this build outside of CI. A consumer should be able to predict something like |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: BenTheElder, mikedanese 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 |
/retest |
Agree, this one had me scratching my head... |
I agree that bazel makes me feel ridiculous on a regular basis. |
@BenTheElder -- you may want/need to override the |
Output paths are not a stable API and all our conditional path construction here is fragile. This replaces the old path construction with queries to the action graph. Part of unblocking: kubernetes/kubernetes#94449
New changes are detected. LGTM label has been removed. |
1.15 is still on bazel 0.23 it looks like and aquery didn't support json output. I modified this to use proto instead of json since it seemed the easiest but if you don't like this, we could all:
|
@mikedanese -- Already opened a PR to drop those tests. |
Probably(/hopefully) the same as Kubernetes, so dev (1.20), 1.19, 1.18, and 1.17. |
29491d7
to
e0ff673
Compare
Ok, then I'll drop the last commit and we can skip 1.15. |
KIND currently supports 1.13+ (kubeadm beta versions) but we only need bazel in Kubernetes CI. I'm fine with dropping bazel-only support from anything Kubernetes isn't running CI for. |
kubernetes/test-infra#19168 disables bazel in that job. |
we're also hitting pod pending timeouts on prow w/ running the jobs :/ |
For posterity since GH UI lost it, the dropped commit that made this work for 1.15 is here: 29491d7 |
@mikedanese: The following tests 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. |
bypassing e2e flakes and ensuring this one goes in now. |
Output paths are not a stable API and all our conditional path
construction here is fragile. This replaces the old path construction
with queries to the action graph.
Part of unblocking: kubernetes/kubernetes#94449
cc @justaugustus @BenTheElder