fix: build arm64#124
Conversation
📝 WalkthroughWalkthroughThe Docker publish workflow adds a QEMU setup step and extends the build-and-push platforms configuration to include linux/arm64 in addition to linux/amd64, enabling multi-architecture image publishing. ChangesMulti-arch Docker build
Estimated code review effort: 1 (Trivial) | ~3 minutes Assessment against linked issues
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
.github/workflows/docker-publish.yml (1)
89-89: 🚀 Performance & Scalability | 🔵 Trivial | 💤 Low valueMulti-arch build config is correct and consistent with
.ko.yaml.The platform list
linux/amd64,linux/arm64matches thedefaultPlatformsdeclared in.ko.yaml(order differs but is functionally equivalent). The comma-separated format is correct fordocker/build-push-action@v5.0.0.One note: QEMU-emulated arm64 builds are significantly slower than native — the CI run took ~1h 23m. If build time becomes a bottleneck, consider using GitHub's native arm64 runners (
ubuntu-24.04-arm) for the arm64 leg via a build matrix, which would eliminate QEMU overhead entirely.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/docker-publish.yml at line 89, The multi-arch configuration in the docker publish workflow is already correct, so no code change is needed for the `platforms` setting in the `docker/build-push-action` step or its alignment with `.ko.yaml`'s `defaultPlatforms`. If build duration becomes a concern, update the workflow around the existing build job to use a matrix and route the arm64 leg to native `ubuntu-24.04-arm` runners instead of QEMU-emulated builds.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In @.github/workflows/docker-publish.yml:
- Line 89: The multi-arch configuration in the docker publish workflow is
already correct, so no code change is needed for the `platforms` setting in the
`docker/build-push-action` step or its alignment with `.ko.yaml`'s
`defaultPlatforms`. If build duration becomes a concern, update the workflow
around the existing build job to use a matrix and route the arm64 leg to native
`ubuntu-24.04-arm` runners instead of QEMU-emulated builds.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: de64bdae-b27b-461c-873c-65a30578c074
📒 Files selected for processing (1)
.github/workflows/docker-publish.yml
📜 Review details
⚠️ CI failures not shown inline (1)
GitHub Actions: .github/workflows/test.yml / 0_test.txt: fix: build arm64
Conclusion: failure
##[group]Run go test -coverpkg=all ./... -coverprofile=coverage.txt
�[36;1mgo test -coverpkg=all ./... -coverprofile=coverage.txt�[0m
shell: /usr/bin/bash -e {0}
##[endgroup]
go: downloading github.com/cosmos/cosmos-proto v1.0.0-beta.5
go: downloading github.com/cosmos/gogoproto v1.7.2
go: downloading google.golang.org/genproto/googleapis/api v0.0.0-20260120221211-b8f7ae30c516
go: downloading google.golang.org/grpc v1.80.0
go: downloading google.golang.org/genproto v0.0.0-20240701130421-f6361c86f094
go: downloading cosmossdk.io/api v0.7.6
go: downloading google.golang.org/protobuf v1.36.11
go: downloading github.com/sourcenetwork/acp_core v0.8.1
go: downloading github.com/cosmos/cosmos-sdk v0.50.14
go: downloading cosmossdk.io/errors v1.0.1
go: downloading cosmossdk.io/math v1.5.0
go: downloading cosmossdk.io/x/tx v0.13.7
go: downloading github.com/TBD54566975/ssi-sdk v0.0.4-alpha
go: downloading github.com/skip-mev/block-sdk/v2 v2.1.5
go: downloading github.com/hashicorp/go-metrics v0.5.3
go: downloading cosmossdk.io/log v1.5.0
go: downloading cosmossdk.io/store v1.1.1
go: downloading github.com/cosmos/ibc-go/v10 v10.1.1
go: downloading github.com/cometbft/cometbft v0.38.21
go: downloading github.com/cosmos/cosmos-db v1.1.3
go: downloading github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0
go: downloading github.com/go-jose/go-jose/v3 v3.0.5
go: downloading github.com/stretchr/testify v1.11.1
go: downloading github.com/lestrrat-go/jwx/v2 v2.1.6
go: downloading cosmossdk.io/core v0.11.1
go: downloading cosmossdk.io/depinject v1.1.0
go: downloading cosmossdk.io/x/circuit v0.1.1
go: downloading cosmossdk.io/x/evidence v0.1.1
go: downloading cosmossdk.io/x/upgrade v0.1.4
go: downloading cosmossdk.io/client/v2 v2.0.0-beta.3
go: downloading github.com/spf13/cobra v1.10.1
go: downloading cosmossdk.io/tools/confix v0.1.2
go: downloading github.com/golang/mock v1.6.0
go: downloading github.com/gorilla/mux v1.8.1
go: downloading github....
🔇 Additional comments (1)
.github/workflows/docker-publish.yml (1)
44-50: LGTM!
closes #123
We need an arm64 build for mizu testing, is a pain to have to build locally vs using an upstream ghcr docker image version
Summary
Confirming it works