Repository navigation
Type in-container paths as POSIX on every host - #136
Merged
Merged
Conversation
Container-side paths (the tool mount directory and its bin, mount destinations, the missing read-only mount error, the container mount check) were built with host PathBufs, so a Windows host produced /opt/aither/tools\<key>\bin inside a Linux container. They are now a ContainerPath (typed-path's POSIX path, absolute only, always joined with /), so a host path cannot be used where a container path is expected. Prepared tools are typed by where they run, and the terminal passes one value per backend instead of five optional fields, which removes three runtime "missing runtime" errors. Closes #135
|
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
In-container paths were built with host
PathBufs, so on a Windows host the tool mount became/opt/aither/tools\<key>\bininside a Linux container.ContainerPath(wrappingtyped-path0.12's POSIX path): absolute only, always joined with/. Used for the tool mount directory and itsbin, the container side ofMountSpec/MountRoot, the missing read-only mount error and the container mount check — a host path no longer type-checks there.ContainerPathfor containers);terminal.rspasses one value per backend instead of five optional fields, removing three runtime "missing runtime/target" errors./opt/aither/tools/<key>and/opt/aither/tools/<key>/binexactly, POSIX joins of a Windows-style relative segment, rejection of relative paths and JSON round-trip.Downstream (May): profile mount container paths parse with
ContainerPath::new(relative paths are rejected), and one.display()becomes.to_string().fmt, workspace clippy
-D warningsandaither-sandbox(175 tests) pass on macOS; Windows is covered by the portability CI job.Closes #135