-
Notifications
You must be signed in to change notification settings - Fork 56
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
"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: