Conversation
|
This would benefit from an integration test that reproduces the specific situation reported in the issue, not just unit tests. |
8db6909 to
364fda1
Compare
|
Added the integration regression in 364fda1. It populates //:b, shuts down, deletes bazel-bin, then runs the cache-hit //:c through subdir/a. The regression exposed the missing ActionFS parent during output validation, so the fix now recreates that parent without materializing the target. The focused integration and unit tests pass. |
364fda1 to
101dc0b
Compare
101dc0b to
34a50b7
Compare
34a50b7 to
4c7d6b3
Compare
|
@tjgq could you review the remote symlink-input fix and its unit/integration regressions ( — Codex, on Tamir’s behalf. |
|
I acknowledge the issue, but dislike the proposed fix. I need more time to think about alternatives. |
Executable symlink actions stat their input to verify permissions. A remote-only derived output whose local parent directory was removed cannot pass that check, even though it is made executable on download. Skip the check only for unmaterialized derived outputs. Recreate the missing input parent for action filesystems so post-action output validation can resolve the new symlink without materializing its target. Keep the executable checks for materialized outputs and remote repository sources. Cover the shutdown and bazel-bin-deletion sequence with a remote-execution integration test. Fixes bazelbuild#26877.
4c7d6b3 to
7e99522
Compare
|
Closing in favor of #30926 and its prerequisites. |
Executable symlink actions stat their input to verify permissions. A
remote-only derived output whose local parent directory was removed
cannot pass that check, even though it is made executable on download.
Skip the check only for unmaterialized derived outputs. Recreate the
missing input parent for action filesystems so post-action output
validation can resolve the new symlink without materializing its target.
Keep the executable checks for materialized outputs and remote
repository sources. Cover the shutdown and bazel-bin-deletion sequence
with a remote-execution integration test.
Fixes #26877.