-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
Conditionally set output_paths based on Remote Executor capabilities #18270
Conditionally set output_paths based on Remote Executor capabilities #18270
Conversation
b7de57a
to
006d6f4
Compare
It might be interesting for subsequent patches to add the ability to set RemoteWorker's ApiVersion via a flag. However, that's out of the scope of the current PR. |
db79728
to
2c78242
Compare
cc: @coeuvre @tjgq @EdSchouten @fmeum This is probably the biggest and final change in my PR chain about output_paths and output_symlinks. |
5dac526
to
f792e37
Compare
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.
Sorry for the delay. LGTM!
@bazel-io fork |
@bazel-io fork 6.3.0 |
This change breaks remote server that only support REAPI v2.0 (because the change of |
@coeuvre any advice on how I should fix the issue? I am not sure how |
The tests are using remote worker instead RBE so we didnt' catch the regression.
Ideally, Bazel should also has the concept of low and high version, and compare it against server's low and high version. If there is an intersection, use highest version in that range - maybe call it resolved version. All the feature test later in the code path should then depend on the resolved version. |
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.
Thanks for the update! I left some comments but otherwise LGTM.
src/main/java/com/google/devtools/build/lib/remote/RemoteExecutionService.java
Outdated
Show resolved
Hide resolved
src/main/java/com/google/devtools/build/lib/remote/common/RemoteCacheClient.java
Show resolved
Hide resolved
src/main/java/com/google/devtools/build/lib/remote/options/RemoteOptions.java
Outdated
Show resolved
Hide resolved
src/main/java/com/google/devtools/build/lib/remote/options/RemoteOptions.java
Outdated
Show resolved
Hide resolved
2d7f14f
to
c311c5e
Compare
@coeuvre sorry for the slow turnaround. I have rebased the PR on top of the latest master and resolved all the merge conflicts as well as addressed the review comment. Let me know what you think. |
c311c5e
to
da30780
Compare
da30780
to
e705eb0
Compare
e705eb0
to
1bb3bf6
Compare
1bb3bf6
to
c577870
Compare
@coeuvre This finally passed CI. You might want to give this another read as the rebase came with some adjustments for the latest changes in |
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.
LGTM! Can you rebase again? I will do the import then.
c577870
to
fcf158b
Compare
fcf158b
to
5117612
Compare
Rebased. PTAL 🙏 |
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.
Thanks! Importing.
@bazel-io fork 7.4.0 |
This is a follow up to #18269, toward the discussion in #18202.
Bump the Remote API supported version to v2.1.
Based on the Capability of the Remote Executor, either use output_paths
field or the legacy fields output_files and output_directories.