Add riscv64 to GoReleaser build matrix and Docker images - #295
Add riscv64 to GoReleaser build matrix and Docker images#295rajeshgangam wants to merge 2 commits into
Conversation
Add riscv64 to goarch in all goreleaser configs with appropriate ignore rules for unsupported OS/arch combinations (darwin, windows, and where applicable freebsd and other BSDs). For configs with Docker support, add linux/riscv64 platform builds and include riscv64 images in all multi-arch Docker manifests. Go cross-compiles to linux/riscv64 natively with CGO_ENABLED=0. Verified: gum, vhs, and glow all build and run on riscv64 hardware. Fixes charmbracelet#283
|
Thanks for picking this up, @rajeshgangam. One thing I noticed while reading through: in Removing the second riscv64 block in those three files should do it. Otherwise goreleaser ends up building and pushing the same tag twice during a release, and The rest reads well to me: the per-file Once you've pushed a fix, I'm happy to test the resulting linux/riscv64 binaries and Docker images on a BananaPi F3. I have one here, so I can confirm gum/vhs/glow actually run. |
The riscv64 Docker block was accidentally added twice in goreleaser-glow.yaml, goreleaser-semi.yaml, and goreleaser-soft-serve.yaml. Remove the duplicates.
|
Thanks for catching that! Removed the duplicate riscv64 Docker entries from all three files. |
Summary
riscv64togoarchin all goreleaser configslinux/riscv64Docker platform builds and include riscv64 images in multi-arch Docker manifestsGo cross-compiles to
linux/riscv64natively withCGO_ENABLED=0, so no toolchain changes are needed.Verified on native riscv64 hardware (BananaPi F3, SpacemiT K1) by @gounthar in #283 — gum, vhs, and glow all build and run without source changes.
Configs updated
Fixes #283