Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dockertest does not support buildkit #525

Open
5 tasks done
pjh opened this issue Aug 19, 2024 · 1 comment
Open
5 tasks done

dockertest does not support buildkit #525

pjh opened this issue Aug 19, 2024 · 1 comment
Labels

Comments

@pjh
Copy link

pjh commented Aug 19, 2024

Preflight checklist

Ory Network Project

No response

Describe the bug

Dockertest does not yet support BuildKit (docker buildx) for building images from a Dockerfile. For example, when I try to use dockertest to build my backend server for testing I get this failure:

$ go test -C integration/
failed to build and run backend container: the --mount option requires BuildKit. Refer to https://docs.docker.com/go/buildkit/ to learn how to build images with BuildKit enabled

BuildKit is widely used for building docker images. #416 was proposed over a year ago but it has not yet been merged. Could that change plus whatever other support is needed be prioritized?

Reproducing the bug

  1. Write a Dockerfile with a step that attempts to mount a file. For example:
    RUN --mount=type=secret,id=netrc_file go build ...
  2. Attempt to build the image using one of dockertest's build methods, such as:
    container, err := pool.BuildAndRunWithOptions("path/to/Dockerfile", runOpts, hostConfigModifier)

Relevant log output

No response

Relevant configuration

No response

Version

github.com/ory/dockertest/v3 v3.10.0

On which operating system are you observing this issue?

None

In which environment are you deploying?

None

Additional Context

No response

@pjh pjh added the bug label Aug 19, 2024
@TristanSpeakEasy
Copy link

Have run into this issue myself today

I have forked the repo and attempted a fix which works. Basically a query param called version with value set to 2 for BuildKit support needs to be passed to the /build command when building the image.

I could open a PR to address this, but the question is should the version be configurable? Or can we just hard code it to 2 as I don't think there is too much reason not to use BuildKit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants