podman
podman copied to clipboard
Convert additional build context paths on Windows
This PR partially fixes issues with the option --build-context <label>=<path> of podman build.
This is enough to fix https://github.com/containers/podman/issues/17313 on macOS and Windows WSL with the default machine mounts.
A complete fix of the option --build-context would require packaging the additional build contexts in some additional tars and update the /libpod/build endpoint to accept multi-part HTTP requests. But that's outside the scope of this PR.
Does this PR introduce a user-facing change?
Fix VisualStudio Dev Containers Features on Windows
LGTM @n1hility @baude @ashley-cui PTAL
Is this something we can test?
Is this something we can test?
I am going to add an e2e test. Converted it back to draft mode.
LGTM
I have added a new e2e machine test podman build contexts in pkg/machine/e2e/basic_tests.go.
I have also updated pkg/machine/e2e/README.md with more instructions to run the tests on windows. There are also a couple of small fixes in build_windows.md that are unrelated to the additional contexts but too small to deserve a dedicated PR.
Tests are green. I am switching this PR back to ready for review.
@containers/podman-maintainers PTAL
/approve /lgtm
[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: l0rd, rhatdan
The full list of commands accepted by this bot can be found here.
The pull request process is described here
- ~~OWNERS~~ [rhatdan]
Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment
Does this mean Podman will now just work with Dev Containers? I can scarcely contain my excitement!
Does this mean Podman will now just work with Dev Containers? I can scarcely contain my excitement!
A few clarifications:
- This is now merged in main branch and will be included in next stable version of Podman (i.e.
v5.3.0) - The machine provider needs to be
WSL(Hyper-V supports needs #23429) - The
devcontainer.jsonshould include the followingrunArgsandcontainerEnv(but I think it may be avoided in rootless mode):
"runArgs": [
"--userns=keep-id"
],
"containerEnv": {
"HOME": "/home/node"
}
@l0rd thank you!