fix: default to legacy builder instead of BuildKit with podman #900
+14
−10
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.
Description
Podman doesn't support buildkit and defaults to "DOCKER_BUILDKIT=0", See https://github.com/containers/podman/blob/f7be7a365ad3e90db5f96f269a555f6f380f9275/cmd/podman/compose.go#L157-L170
This results in Podman failing builds when
BUILDKIT_INLINE_CACHE
oradditional_contexts
is used, as for example incli/src/spec-node/dockerCompose.ts
Lines 230 to 245 in 9ba1fda
A simple fix would to make cli ignore
--buildkit
parameter, default tonever
and log a warning when Podman is used.Fixes #863
Testing
A failing example would be
Dockerfile
devcontainer.json
compose.yaml
when features is used in
devcontainer.json
this would always fail with logthe classic builder doesn't support additional contexts, set DOCKER_BUILDKIT=1 to use BuildKit
I have compiled this on my machine and used it with
--buildkit auto
and--buildkit none
and it works correctly and tests are passing normally, maybe an additional testing can be added for this.