Skip to content

fix(ci): make buildkitd-config opt-in for setup-buildx#970

Merged
jtoelke2 merged 1 commit intomainfrom
jtoelke/fix-buildkitd-config-opt-in
Apr 24, 2026
Merged

fix(ci): make buildkitd-config opt-in for setup-buildx#970
jtoelke2 merged 1 commit intomainfrom
jtoelke/fix-buildkitd-config-opt-in

Conversation

@jtoelke2
Copy link
Copy Markdown
Collaborator

Summary

Hotfix for #966, which broke shadow-docker-build.yml on main. That PR hard-coded buildkitd-config: /etc/buildkit/buildkitd.toml inside the driver: local branch of the setup-buildx composite action. The only caller using that driver is shadow-docker-build.yml, which runs inside the ghcr.io/nvidia/openshell/ci:latest container — so the host-side TOML was invisible to docker/setup-buildx-action and every matrix job failed at "Set up buildx" (e.g. run 24911395318).

Remote-driver callers (docker-build, release-dev, release-tag, release-vm-dev, ci-image) were unaffected because the hard-coded line was only inside the local-driver branch.

Changes

  • .github/actions/setup-buildx/action.yml
    • Add buildkitd-config input (empty default).
    • Revert the hard-coded path; pass the input through to docker/setup-buildx-action in both the remote and local branches. Empty input is a no-op.
  • .github/workflows/shadow-docker-build.yml
    • Bind-mount /etc/buildkit:/etc/buildkit:ro into the ci container so the action running inside it can read the TOML.
    • Pass buildkitd-config: /etc/buildkit/buildkitd.toml through the new input.

Testing

  • Diff reviewed; minimal surface area (20 added / 5 removed).
  • Remote-driver callers: no behavior change (new input defaults empty → docker/setup-buildx-action receives an empty buildkitd-config, treated as no config).
  • Local-driver caller (shadow-docker-build): verified the action will now be able to read /etc/buildkit/buildkitd.toml from inside the container via the bind mount; will confirm on the first push-to-main dispatch after merge.

Related

#966 hard-coded `buildkitd-config: /etc/buildkit/buildkitd.toml` inside
the `driver: local` branch of the setup-buildx composite action. The only
caller using that driver is shadow-docker-build.yml, which runs inside
the ghcr.io/nvidia/openshell/ci:latest container — so the host-side
buildkitd.toml was invisible to docker/setup-buildx-action and every
matrix job failed at "Set up buildx".

Revert the hard-coded path and expose it as an opt-in input on the
action (empty default, passed through to both the remote and local
branches). Wire shadow-docker-build.yml to bind-mount /etc/buildkit
into the ci container and pass the path explicitly, so the action can
read the file from inside the container. Remote-driver callers are
unaffected (empty input is a no-op).

Signed-off-by: Jonas Toelke <jtoelke@nvidia.com>
@jtoelke2 jtoelke2 requested a review from a team as a code owner April 24, 2026 21:25
@jtoelke2 jtoelke2 merged commit 55b0266 into main Apr 24, 2026
22 of 28 checks passed
@jtoelke2 jtoelke2 deleted the jtoelke/fix-buildkitd-config-opt-in branch April 24, 2026 21:35
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