Skip to content

Repository files navigation

setup-docker-builder, by BuildPulse

Runs on BuildPulseCIVersionLast commit

Drop-in replacement for docker/setup-buildx-action on BuildPulse docker-builder runners. Points buildx at the runner's local rootless buildkitd sidecar, whose state is hydrated from / committed to a persistent per-tenant cache on node NVMe. No cache-from/cache-to config: the cache is the daemon's own --root, so it preserves layer cache andRUN --mount=type=cache.

jobs:
build:
runs-on: bp-docker-builder-x64-32x # a BuildPulse docker-builder poolsteps:
- uses: actions/checkout@v4
- uses: buildpulse/setup-docker-builder@v1
- uses: docker/build-push-action@v6with:
push: truetags: myimage:latest

How it works

  • The pod's init container hydrates the buildkitd --root from /mnt/nvme/bk-cache/<tenant-namespace> before buildkitd starts.
  • This action wires buildx to unix:///run/buildkit/buildkitd.sock (remote driver).
  • On job success only, the post step commits the root back (Last-Write-Wins).

Build

npm ci && npm run build regenerates dist/ (committed; GitHub Actions runs dist/).

Status

v1. Needs: (1) extraction to its own buildpulse/setup-docker-builder repo to be uses:-able externally; (2) dev hardening of the commit step (quiesce buildkitd before copy to close the consistency window).

About

Drop-in setup-buildx for BuildPulse docker-builder runners: local NVMe-cached buildkitd, zero cache config

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages