From 060be7f32e127d6779a46357e4b0ee887a6e21f4 Mon Sep 17 00:00:00 2001 From: apstndb <803393+apstndb@users.noreply.github.com> Date: Tue, 8 Sep 2026 14:57:53 +0900 Subject: [PATCH] Drop 386 release targets from GoReleaser builds Restrict release builds to amd64 and arm64 on linux, windows, and darwin (six archives instead of eight). GoReleaser's default arch list includes 386, so 32-bit archives were published implicitly. Download counts across all releases show one download per 386 asset at most, consistent with automated fetchers rather than users, while the 32-bit targets add build and CI surface for dependencies that are 64-bit oriented (the planned embedded Graphviz renderer runs on wazero, which has no optimizing compiler on 386). The archive name template no longer needs the i386 special case. Verified with `goreleaser check` and `goreleaser build --snapshot`, which produced exactly the six expected targets. --- .goreleaser.yaml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index cea1f56..21c75f2 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -19,6 +19,13 @@ builds: - linux - windows - darwin + # 64-bit only. GoReleaser's default arch list also includes 386, but no + # 32-bit release asset has had a non-trivial download, and upcoming + # dependencies (embedded Graphviz via wazero) only have an optimizing + # compiler on amd64/arm64. + goarch: + - amd64 + - arm64 archives: - formats: @@ -27,9 +34,7 @@ archives: {{ .ProjectName }}_ {{- title .Os }}_ {{- if eq .Arch "amd64" }}x86_64 - {{- else if eq .Arch "386" }}i386 {{- else }}{{ .Arch }}{{ end }} - {{- if .Arm }}v{{ .Arm }}{{ end }} format_overrides: - goos: windows formats: