KEMBAR78
Let RemoteOutputService ensure bazel-out/ is not a symlink by EdSchouten · Pull Request #19377 · bazelbuild/bazel · GitHub
Skip to content

Conversation

EdSchouten
Copy link
Contributor

When doing a regular build without passing in --remote_download_*, ExecutionTool will automatically clean up any traces of an OutputService that replaces bazel-out/ with a symlink pointing to a remote file system.

The --remote_download_* option is implemented by installing an OutputService of its own, meaning that the regular logic in ExecutionTool is skipped. The rationale being that an OutputService essentially takes ownership of bazel-out/.

This change extends RemoteOutputService to be a more complete implementation of OutputService that ensures that bazel-out/ is set up properly. This improves interoperability with changes such as the gRPC based Remote Output Service protocol (see #12823).

@EdSchouten EdSchouten requested a review from a team as a code owner August 31, 2023 12:27
@github-actions github-actions bot added awaiting-review PR is awaiting review from an assigned reviewer team-Remote-Exec Issues and PRs for the Execution (Remote) team labels Aug 31, 2023
@EdSchouten EdSchouten force-pushed the eschouten/20230831-remote-minimal-symlink branch from cdadd2c to 4574a4b Compare August 31, 2023 12:36
@EdSchouten EdSchouten force-pushed the eschouten/20230831-remote-minimal-symlink branch from 4574a4b to 07fa54e Compare August 31, 2023 16:11
@EdSchouten EdSchouten force-pushed the eschouten/20230831-remote-minimal-symlink branch from 07fa54e to 746eb9d Compare September 1, 2023 10:58
When doing a regular build without passing in --remote_download_*,
ExecutionTool will automatically clean up any traces of an OutputService
that replaces bazel-out/ with a symlink pointing to a remote file
system.

The --remote_download_* option is implemented by installing an
OutputService of its own, meaning that the regular logic in
ExecutionTool is skipped. The rationale being that an OutputService
essentially takes ownership of bazel-out/.

This change extends RemoteOutputService to be a more complete
implementation of OutputService that ensures that bazel-out/ is set up
properly. This improves interoperability with changes such as the gRPC
based Remote Output Service protocol (see bazelbuild#12823).
@EdSchouten EdSchouten force-pushed the eschouten/20230831-remote-minimal-symlink branch from 746eb9d to be44525 Compare September 1, 2023 11:21
@coeuvre coeuvre added awaiting-PR-merge PR has been approved by a reviewer and is ready to be merge internally and removed awaiting-review PR is awaiting review from an assigned reviewer labels Sep 1, 2023
@copybara-service copybara-service bot closed this in e3e31e6 Sep 4, 2023
@github-actions github-actions bot removed the awaiting-PR-merge PR has been approved by a reviewer and is ready to be merge internally label Sep 4, 2023
@EdSchouten EdSchouten deleted the eschouten/20230831-remote-minimal-symlink branch September 4, 2023 11:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

team-Remote-Exec Issues and PRs for the Execution (Remote) team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants