Skip to content

fix(action-plugin): resolve client paths from the current directory - #16384

Merged
rgrinberg merged 1 commit into
ocaml:mainfrom
rgrinberg:push-tykyvsxnwklk
Sep 12, 2026
Merged

rgrinberg merged 1 commit into
ocaml:mainfrom
rgrinberg:push-tykyvsxnwklk

Conversation

@rgrinberg

@rgrinberg rgrinberg commented Sep 12, 2026

Copy link
Copy Markdown
Member

Resolve action-plugin dependency paths from the client’s current directory rather than its launch directory. Capture paths before waiting for Dune so a concurrent directory change cannot redirect file or directory reads.

Return the physical, sandbox-mapped build-context root in an initialization response record and translate requests into that root-relative namespace.

Related to #5681.

@rgrinberg
rgrinberg force-pushed the push-tykyvsxnwklk branch 2 times, most recently from 6e04555 to 57cd123 Compare September 12, 2026 20:55
Return the physical, sandbox-mapped build-context root in an initialization
response record. Clients snapshot cwd before yielding, send root-relative
dependency paths, and use the captured absolute paths for file and directory
I/O. Keep the standalone context API unchanged.

Resolve symlinks in the existing action root, without requiring generated
inputs to exist before discovery. Document the path semantics and flip the
preceding regressions for reads, listings, dependency invalidation, in-flight
cwd changes, and sandboxed or symlinked build directories.

Leave RPC socket discovery and the helper-starts-in-another-directory
regression unchanged.

Signed-off-by: Rudi Grinberg <me@rgrinberg.com>
@rgrinberg
rgrinberg merged commit f81f342 into ocaml:main Sep 12, 2026
37 of 38 checks passed
@Alizter Alizter added this to the 3.25.0 milestone Sep 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants