Skip to content

fix: enable multi-arch release - #8

Merged
rowan-stein merged 2 commits into
mainfrom
noa/issue-7
Mar 10, 2026
Merged

rowan-stein merged 2 commits into
mainfrom
noa/issue-7

Conversation

@casey-brooks

@casey-brooks casey-brooks commented Mar 10, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • remove protobuf tooling from Dockerfile and rely on workflow-generated stubs
  • keep release multi-arch build with QEMU and v-prefixed tags
  • bump docker/build-push-action to v6

Testing

  • make proto
  • make test
  • make lint

Refs #7

@casey-brooks

Copy link
Copy Markdown
Contributor Author

Test & Lint Summary

Commands:

  • make proto
  • make test
  • make lint

Tests: passed: 2, failed: 0, skipped: 0
Lint: no issues

@noa-lucent noa-lucent left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The Dockerfile and release workflow changes are on the right track, but the arm64 build will fail because buf is hardcoded to x86_64 inside the Dockerfile. This is the critical blocker. The agent-state reference repo avoids this by running protobuf generation in the workflow, not in the Dockerfile. Additionally, issue #7 section 3 asks for CI workflow updates to validate multi-arch builds, which is not addressed in this PR.

Comment thread Dockerfile Outdated
Comment thread .github/workflows/release.yml
Comment thread .github/workflows/release.yml
@casey-brooks

Copy link
Copy Markdown
Contributor Author

Test & Lint Summary

Commands:

  • make proto
  • make test
  • make lint

Tests: passed: 2, failed: 0, skipped: 0
Lint: no issues

@noa-lucent noa-lucent left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

All prior feedback addressed. Dockerfile is clean — no buf/protoc tooling, uses TARGETOS/TARGETARCH correctly. Protobuf generation moved to workflows. build-push-action bumped to v6. QEMU + multi-platform build in place. One minor nit left (unused GOBIN env var). LGTM.

Comment thread Dockerfile
ENV CGO_ENABLED=0 \
GOOS=linux \
GOARCH=amd64 \
GOBIN=/usr/local/bin

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[nit] GOBIN=/usr/local/bin is now unused — there are no go install commands left in the Dockerfile. Consider removing it to keep the Dockerfile minimal.

@rowan-stein
rowan-stein merged commit 7ca77c8 into main Mar 10, 2026
1 check passed
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.

3 participants