-
Notifications
You must be signed in to change notification settings - Fork 4.4k
Materialize important outputs from remote external repos #28308
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
base: master
Are you sure you want to change the base?
Conversation
|
@bazel-io fork 9.0.0 |
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.
Code Review
The pull request effectively addresses the issue of runfiles from remote external repositories not being materialized correctly by consolidating the skip logic into a new RemoteOutputChecker.mayBeRemote static helper. This change improves code maintainability by centralizing the logic for determining if an ActionInput could be remote. Additionally, the ActionExecutionMetadata parameter in ActionInputPrefetcher.prefetchFiles has been made nullable, which correctly handles scenarios where a generating action might not be available. The new testRun test case provides good coverage for the bazel run command's interaction with the remote repository contents cache, ensuring the fix works as expected.
src/main/java/com/google/devtools/build/lib/actions/ActionInputPrefetcher.java
Show resolved
Hide resolved
src/main/java/com/google/devtools/build/lib/remote/AbstractActionInputPrefetcher.java
Show resolved
Hide resolved
src/main/java/com/google/devtools/build/lib/remote/RemoteImportantOutputHandler.java
Show resolved
Hide resolved
src/main/java/com/google/devtools/build/lib/remote/RemoteImportantOutputHandler.java
Show resolved
Hide resolved
src/main/java/com/google/devtools/build/lib/remote/RemoteOutputChecker.java
Show resolved
Hide resolved
src/main/java/com/google/devtools/build/lib/remote/RemoteOutputChecker.java
Show resolved
Hide resolved
Runfiles from external repos that are remote repo contents cache hits got stuck at various levels of the materialization pipeline for being source artifacts. This is fixed by consolidating the skip logic in a `RemoteOutputChecker` static helper.
Important outputs and runfiles from external repos that are remote repo contents cache hits got stuck at various levels of the materialization pipeline for being source artifacts. This is fixed by consolidating the skip logic in a
RemoteOutputCheckerstatic helper.