Skip to content
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

Let RemoteOutputService ensure bazel-out/ is not a symlink #19377

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