-
Notifications
You must be signed in to change notification settings - Fork 4.4k
Do not create runfile trees unnecessarily when building without the bytes #18580
Copy link
Copy link
Open
Labels
P1I'll work on this now. (Assignee required)I'll work on this now. (Assignee required)team-Remote-ExecIssues and PRs for the Execution (Remote) teamIssues and PRs for the Execution (Remote) teamtype: bug
Description
Currently, --remote_download_toplevel causes all runfiles symlink trees to be created (not just the top-level ones), while --remote_download_minimal implies --nobuild_runfile_symlinks and activates a separate code path (see RunfilesTreeUpdater) to create input runfiles trees just before local action execution.
Instead, we should:
- Return true from
RemoteOutputService#canCreateSymlinksand provide an emptyRemoteOutputService#createSymlinksimplementation; this ensures the runfiles tree is never materialized as a direct result of running theSymlinkTreeAction. - Have
SpawnRunner#prefetchInputscreate the runfiles tree before local action execution (as is already the case for other local action inputs). - Have
AbstractActionInputPrefetcher#finalizeActioncreate the runfiles tree for toplevel targets (as is already the case for other top-level outputs).
This would ensure a minimal set of runfile trees is created in all cases, and let us omit --nobuild_runfile_links from the expansion of --remote_download_minimal.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P1I'll work on this now. (Assignee required)I'll work on this now. (Assignee required)team-Remote-ExecIssues and PRs for the Execution (Remote) teamIssues and PRs for the Execution (Remote) teamtype: bug