-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
"RUN --mount=type=cache" caches not persisted #87
Comments
The relevant issue in buildkit - moby/buildkit#1512 |
To sum up, buildkit
Implementation details could vary, should it rely on docker layer caching, CI caching functionality, or just use |
Also, there is one a quite different suggestion, which looks more like a real solution to the problem. It proposes to use a dedicated buildkitd server, which would execute actual container build jobs, and clients inside the CI jobs would only send a context to it. I like this solution, but not sure this fits well into the Concourse philosophy. |
This isn't a request for a code change as much as for documentation, presuming that there is in fact a reasonable way to reuse the
./cache
directory for arbitrary user-provided content from inside the container. If there isn't, then this might be into feature-request territory (which I'd be happy to take a shot at if given some guidance about what an implementation would look like).Insofar as oci-build-task uses Buildkit, extended syntax is available in Dockerfiles using it; for example:
RUN --mount=type=cache,target=/go-cache env GOCACHE=/go-cache go build
(similar use cases include Maven jar caches, Nix store caches, etc).
Unfortunately, even with
caches: [{"path": "cache"}]
enabled, this doesn't actually work to reuse downloaded Go modules across builds -- there's an error of the form:...and as far as I can tell, the
./cache
directory isn't mapped into the container context.Is there a reasonable way to cache content inside of oci-build-task?
The text was updated successfully, but these errors were encountered: