fix: update buildkit client image and add oci-mediatypes to cache export#124
Merged
vigneshrajsb merged 1 commit intomainfrom Mar 10, 2026
Merged
fix: update buildkit client image and add oci-mediatypes to cache export#124vigneshrajsb merged 1 commit intomainfrom
vigneshrajsb merged 1 commit intomainfrom
Conversation
… to cache export Upgrade buildctl client image from moby/buildkit:v0.12.0 to v0.21.0 to resolve gRPC GOAWAY errors caused by client/server version mismatch when the BuildKit daemon running in the cluster is on a newer version. Add oci-mediatypes=true to the --export-cache flag to fix 30s fallback delays during cache manifest import. Without this flag, the registry returns a non-OCI manifest on import, triggering a slow fallback path in BuildKit before it can use the cached layers. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
levontikoyan
approved these changes
Mar 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Problem
Three root causes were identified in the BuildKit-based native build pipeline:
gRPC GOAWAY errors (client/server version mismatch) — The buildctl client image was pinned to
moby/buildkit:v0.12.0while the BuildKit daemon running in the cluster is on a significantly newer version. gRPC GOAWAY frames are sent by the server when the client is too old to communicate correctly, causing builds to fail mid-stream.30s cache manifest import delays — Without
oci-mediatypes=trueon--export-cache, the cache manifest is written in Docker schema v2 format. On import, the registry returns a non-OCI manifest, which triggers a slow fallback path in BuildKit before it can locate and use the cached layers. This adds a consistent ~30s penalty to every build.Stale client preventing future BuildKit upgrades — Keeping the client image at v0.12.0 makes it increasingly difficult to adopt new BuildKit daemon features or upgrade the daemon without breaking the client.
Changes
src/server/lib/nativeBuild/engines.tsmoby/buildkit:v0.12.0tomoby/buildkit:v0.21.0to align client and server versions and eliminate gRPC GOAWAY errors.oci-mediatypes=trueto the--export-cacheflag so cache manifests are written in OCI format, removing the 30s fallback delay on cache import.Test plan