Skip to content

CI: BuildKit remote bitstream builds (shared Makefile + reusable workflow)#2

Open
laktoosivaba wants to merge 1 commit into
Zubax:mainfrom
laktoosivaba:ci/remote-bitstream
Open

CI: BuildKit remote bitstream builds (shared Makefile + reusable workflow)#2
laktoosivaba wants to merge 1 commit into
Zubax:mainfrom
laktoosivaba:ci/remote-bitstream

Conversation

@laktoosivaba

Copy link
Copy Markdown

Shared, reusable path to build FPGA bitstreams on a remote build host inside the mega image, driven from a laptop. buildkitd on the build host reuses the mega base from its containerd store (no re-pull), runs Vivado in a Dockerfile RUN, and exports a thin bitstream.

  • ci/bitstream.mkmake bit / make bit-push via buildctl against a remote buildkitd. Projects include it and pin their own BUILDKIT_ADDR (or BUILDKIT_HOST).
  • ci/Dockerfile.template — multi-stage FROM mega → RUN vivado → FROM scratch artifact stage.
  • .github/workflows/vivado-bitstream.yml — reusable workflow (docker/setup-buildx-action@v4 remote driver + docker/build-push-action@v7) for the same build, runnable via act.
  • README section.

No infrastructure defaults — projects pin BUILDKIT_ADDR / buildkit_endpoint / PUSH_REF. Synthesis only; board programming stays in the consuming project.

Verified end-to-end: a real Vivado bitstream (xc7z010) built on a remote buildkitd and exported locally, with the mega base reused from the host's containerd store (host disk flat — no re-pull).

🤖 Generated with Claude Code

…low)

Shared, reusable remote-build path: buildkitd on the build host reuses the mega
base from its containerd store (no re-pull), runs Vivado in a Dockerfile RUN,
exports a thin bitstream. ci/bitstream.mk (make bit / bit-push, vendored by
projects), ci/Dockerfile.template, and a BuildKit reusable workflow
(setup-buildx remote + build-push). Public repo: carries no infra defaults —
projects pin BUILDKIT_ADDR / buildkit_endpoint / PUSH_REF themselves.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@laktoosivaba
laktoosivaba force-pushed the ci/remote-bitstream branch from 429d8e1 to 5bddfba Compare July 5, 2026 14:13
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.

1 participant