Skip to content

fix: add docker-container buildx builder to resolve push-by-digest failures#495

Merged
DevSecNinja merged 2 commits into
mainfrom
copilot/fix-arm64-build-job
Jun 23, 2026
Merged

fix: add docker-container buildx builder to resolve push-by-digest failures#495
DevSecNinja merged 2 commits into
mainfrom
copilot/fix-arm64-build-job

Conversation

Copilot AI commented Jun 21, 2026

Copy link
Copy Markdown
Contributor

Both Build (amd64) and Build (arm64) prebuild jobs fail because push-by-digest=true (used by devcontainer build --output) requires the docker-container buildx driver, but GitHub-hosted runners now default to the docker driver which doesn't support it.

Changes

  • .github/workflows/devcontainer-prebuild.yaml — adds a "Set up Docker Buildx" step (after CLI install, before build) that creates a docker-container driver builder:

    - name: Set up Docker Buildx
      run: docker buildx create --use --driver docker-container --name devcontainer-builder --bootstrap

    --bootstrap starts the BuildKit container eagerly. docker/setup-buildx-action is intentionally avoided to skip its Docker Hub authentication round-trip.

  • tests/bash/validate-devcontainer.bats — updates the buildx test to reflect the new approach: still asserts docker/setup-buildx-action is absent, and now also asserts docker buildx create with docker-container driver is present.

Both amd64 and arm64 prebuild jobs failed with:
  ERROR: failed to build: push-by-digest is currently not implemented for
  docker driver, please create a new builder instance

Root cause: devcontainer CLI uses --output push-by-digest=true which
requires the docker-container buildx driver. GitHub-hosted runners now
default to the docker driver which does not support push-by-digest.

Fix: add a 'Set up Docker Buildx' step that creates a docker-container
driver builder via `docker buildx create --use --driver docker-container
--name devcontainer-builder --bootstrap` (placed between 'Install Dev
Container CLI' and 'Decide whether to push').

The builder is created manually (not via docker/setup-buildx-action)
to avoid the separate Docker Hub authentication round-trip that action
introduces.

Update validate-devcontainer.bats: rename the test to reflect that we
now DO create a builder but not via setup-buildx-action, and add an
assertion that docker-container driver is specified.
Copilot AI changed the title [WIP] Fix failing GitHub Actions job 'Build (arm64)' fix: add docker-container buildx builder to resolve push-by-digest failures Jun 21, 2026
Copilot AI requested a review from DevSecNinja June 21, 2026 19:46
@DevSecNinja DevSecNinja marked this pull request as ready for review June 23, 2026 08:51
@DevSecNinja DevSecNinja merged commit c95f3e2 into main Jun 23, 2026
17 checks passed
@DevSecNinja DevSecNinja deleted the copilot/fix-arm64-build-job branch June 23, 2026 08:51
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