Skip to content

executor: root action execution at /execroot - #38

Open
zbarsky-openai wants to merge 1 commit into
hermeticbuild:mainfrom
zbarsky-openai:zbarsky/action-execroot-path
Open

zbarsky-openai wants to merge 1 commit into
hermeticbuild:mainfrom
zbarsky-openai:zbarsky/action-execroot-path

Conversation

@zbarsky-openai

Copy link
Copy Markdown

Rust action output validation fails under actiond because its short /workspace
execution root also occurs inside unrelated source and generated documentation:

Error: ProcessWrapperError("compiled Rust output bazel-out/darwin_arm64-fastbuild/bin/external/rules_rs++crate+cargo__backoff-0.4.0/libbackoff-2164882781.rlib embeds the absolute working directory /workspace. Do not retain env!(\"CARGO_MANIFEST_DIR\") or env!(\"OUT_DIR\") in compiled code; include_str!() and include_bytes!() may use those values only for compile-time file access")

Use /execroot as the action-visible execution root throughout action staging,
working-directory resolution, mounted input-tree lookup, absolute output
symlinks, and dependency-file prefix stripping. Update the existing execution,
symlink, depfile, and end-to-end fixtures as well as the architecture document.

Using the conventional execution-root name removes the false positive without
patching or weakening rules_rust's existing absolute-path detector. The
monorepo workaround in openai/openai#1345884 can then be removed.

Rust action output validation fails under actiond because its short `/workspace`
execution root also occurs inside unrelated source and generated documentation:

```text
Error: ProcessWrapperError("compiled Rust output bazel-out/darwin_arm64-fastbuild/bin/external/rules_rs++crate+cargo__backoff-0.4.0/libbackoff-2164882781.rlib embeds the absolute working directory /workspace. Do not retain env!(\"CARGO_MANIFEST_DIR\") or env!(\"OUT_DIR\") in compiled code; include_str!() and include_bytes!() may use those values only for compile-time file access")
```

Use `/execroot` as the action-visible execution root throughout action staging,
working-directory resolution, mounted input-tree lookup, absolute output
symlinks, and dependency-file prefix stripping. Update the existing execution,
symlink, depfile, and end-to-end fixtures as well as the architecture document.

Using the conventional execution-root name removes the false positive without
patching or weakening rules_rust's existing absolute-path detector. The
monorepo workaround in openai/openai#1345884 can then be removed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant