Skip to content

ci: bump buildkit to v0.31.0#1097

Draft
cpuguy83 wants to merge 1 commit into
project-dalec:mainfrom
cpuguy83:test-buildkit-0.31.0-rc2
Draft

ci: bump buildkit to v0.31.0#1097
cpuguy83 wants to merge 1 commit into
project-dalec:mainfrom
cpuguy83:test-buildkit-0.31.0-rc2

Conversation

@cpuguy83

@cpuguy83 cpuguy83 commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Pins the CI builders to moby/buildkit:v0.31.0 and bumps the buildkit Go module to match so both the integration (distro) matrix and the e2e suite build against the released buildkitd.

Changes

  • Add a top-level BUILDKIT_TEST_IMAGE env as the single source of truth for the buildkit image under test.
  • integration job: create and --use a buildx container builder pinned to the test image instead of relying on the engine's embedded buildkit. The test harness (buildx dial-stdio) and the bake frontend/bake worker pre-builds all target this builder. The failure log dump now also collects the buildx_buildkit_* container logs.
  • e2e job: create a pinned container builder for both diff/merge matrix legs (USE_BUILDX=1 for both), rather than only the diff/merge-enabled leg using a container builder and the other falling back to the default docker driver.
  • Bump github.com/moby/buildkit v0.30.0 -> v0.31.0 (with the transitive updates from go mod tidy).

Trade-offs / notes

  • The integration job previously used the default docker driver, so bake pre-builds landed in the docker image store. With a container builder they warm the builder cache instead; tests consume the frontend as a buildkit frontend-input and reuse the same builder, so this is functionally equivalent but is the main thing to watch on the first run.

Local validation: go build ./..., go run ./cmd/lint ./..., go generate ./... (no diff), go test --test.short ./... all pass.

Copilot AI review requested due to automatic review settings June 15, 2026 22:53
@cpuguy83 cpuguy83 marked this pull request as draft June 15, 2026 22:53

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR temporarily pins the CI environment to BuildKit v0.31.0-rc2 for validation. It introduces a workflow-level BUILDKIT_TEST_IMAGE env var as the single source of truth for the buildkit image, creates explicit docker buildx container builders in both the integration and e2e jobs (instead of relying on the engine's embedded buildkit), and bumps the github.com/moby/buildkit Go module from v0.30.0 to v0.31.0-rc2 along with all transitive dependency updates.

Changes:

  • Add BUILDKIT_TEST_IMAGE env var and create pinned container builders in both the integration and e2e CI jobs so all test suites exercise the RC buildkitd.
  • Improve failure-mode log collection in the integration job to capture both dockerd and buildx container builder logs.
  • Bump github.com/moby/buildkit to v0.31.0-rc2 in go.mod/go.sum with transitive dependency updates from go mod tidy.

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated no comments.

File Description
.github/workflows/ci.yml Adds workflow-level BUILDKIT_TEST_IMAGE env, creates pinned buildx builders in integration and e2e jobs, improves log dump to capture buildx container logs
go.mod Bumps buildkit to v0.31.0-rc2, Go version to 1.25.9, removes deprecated golang/protobuf indirect dep, updates transitive dependencies
go.sum Corresponding checksum updates for all bumped transitive dependencies

Pin the CI builders to moby/buildkit:v0.31.0 and bump the buildkit Go
module to match so both the integration (distro) matrix and the e2e suite
build against the released buildkitd.

Behavior changes:
- Add a top-level BUILDKIT_TEST_IMAGE env as the single source of truth for
  the buildkit image under test.
- The integration job now creates a buildx container builder pinned to the
  test image and uses it, instead of relying on the engine's embedded
  buildkit. The test harness (buildx dial-stdio) and the bake pre-builds all
  target this builder. Its failure log dump now also collects the
  buildx_buildkit_* container logs.
- The e2e job creates a pinned container builder for both diff/merge matrix
  legs (USE_BUILDX=1 for both) rather than only the diff/merge-enabled leg
  falling back to the default docker driver for the other.
- Bump github.com/moby/buildkit v0.30.0 -> v0.31.0 (with the transitive
  updates pulled in by go mod tidy).

Trade-offs:
- The integration job previously used the default docker driver, so bake
  pre-builds landed in the docker image store. With a container builder they
  warm the builder cache instead; tests consume the frontend as a buildkit
  frontend-input and reuse the same builder, so this is functionally
  equivalent but is the main thing to watch on the first run.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
@cpuguy83 cpuguy83 force-pushed the test-buildkit-0.31.0-rc2 branch from 899a37f to c06d407 Compare June 18, 2026 17:18
@cpuguy83 cpuguy83 changed the title ci: test buildkit v0.31.0-rc2 ci: bump buildkit to v0.31.0 Jun 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants