Skip to content

Upload dangling symlinks found in the outputs of local actions.#16352

Closed
tjgq wants to merge 1 commit intobazelbuild:masterfrom
tjgq:dangling-symlinks
Closed

Upload dangling symlinks found in the outputs of local actions.#16352
tjgq wants to merge 1 commit intobazelbuild:masterfrom
tjgq:dangling-symlinks

Conversation

@tjgq
Copy link
Contributor

@tjgq tjgq commented Sep 29, 2022

Since we don't know whether a dangling symlink is supposed to point to a file or a directory, we always report it as a symlink to a file. The distinction only matters in V2 of the protocol, with V2.1 reporting them uniformly, so it doesn't seem to be worth the effort to match up the input and output types.

Dangling symlinks to absolute paths are unconditionally uploaded. A followup PR will gate their upload on the presence of the respective server capability (SymlinkAbsolutePathStrategy.ALLOW).

The change is behind a new --incompatible_remote_dangling_symlinks flag, which will be introduced in the flipped state. See #16353.

Progress towards #16289.

Since we don't know whether a dangling symlink is supposed to point to a file
or a directory, we always report it as a symlink to a file. The distinction
only matters in V2 of the protocol, with V2.1 reporting them uniformly, so it
doesn't seem to be worth the effort to match up the input and output types.

Dangling symlinks to absolute paths are unconditionally uploaded. A followup
PR will gate their upload on the presence of the respective server capability
(SymlinkAbsolutePathStrategy.ALLOW).

Progress towards bazelbuild#16289.
@tjgq tjgq requested a review from a team as a code owner September 29, 2022 14:31
aiuto pushed a commit to aiuto/bazel that referenced this pull request Oct 12, 2022
Since we don't know whether a dangling symlink is supposed to point to a file or a directory, we always report it as a symlink to a file. The distinction only matters in V2 of the protocol, with V2.1 reporting them uniformly, so it doesn't seem to be worth the effort to match up the input and output types.

Dangling symlinks to absolute paths are unconditionally uploaded. A followup PR will gate their upload on the presence of the respective server capability (SymlinkAbsolutePathStrategy.ALLOW).

The change is behind a new --incompatible_remote_dangling_symlinks flag, which will be introduced in the flipped state. See bazelbuild#16353.

Progress towards bazelbuild#16289.

Closes bazelbuild#16352.

PiperOrigin-RevId: 477735370
Change-Id: I6210d152529e4603a49377a9e72e8e116ced6b85
@ShreeM01 ShreeM01 added the team-Remote-Exec Issues and PRs for the Execution (Remote) team label Dec 5, 2022
@tjgq tjgq deleted the dangling-symlinks branch December 8, 2022 18:05
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.

3 participants