From ca674a6967171e41a4badcf7c8d4720161ffd288 Mon Sep 17 00:00:00 2001 From: Feng Ruohang Date: Wed, 5 Aug 2026 00:55:31 +0800 Subject: [PATCH] build: cross-compile only the targets we publish The crosscompile gate built 15 OS/arch combinations, ten of which we never ship (ppc64le, mips64, s390x, mips, riscv64, 386, arm, freebsd, netbsd, openbsd). On a cold CI cache each target costs ~80s, so the full set ran ~21 min and tripped the job's 20-min timeout, cancelling the only CI run for the release HEAD. Trim the list to the exact goos/goarch matrix the release actually produces (see .github/goreleaser.yml): linux, darwin, windows on amd64 and arm64. This also closes a coverage gap: windows/arm64 is published but was not being compile-checked. The trimmed set builds all six in well under the timeout. Note: netbsd is no longer compile-checked here, so the go-systemd v22.6.0 pin (kept because v22.7.0 does not build on netbsd) loses its CI guard. The pin is retained deliberately - it is harmless on the platforms we ship and upgrading go-systemd is a separate decision - but a netbsd regression in a dependency would now surface only if that build is exercised out of band. Co-authored-by: Claude --- buildscripts/cross-compile.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/buildscripts/cross-compile.sh b/buildscripts/cross-compile.sh index 0590aebb9..643540733 100755 --- a/buildscripts/cross-compile.sh +++ b/buildscripts/cross-compile.sh @@ -8,8 +8,11 @@ function _init() { ## All binaries are static make sure to disable CGO. export CGO_ENABLED=0 - ## List of architectures and OS to test coss compilation. - SUPPORTED_OSARCH="linux/ppc64le linux/mips64 linux/amd64 linux/arm64 linux/s390x darwin/arm64 darwin/amd64 freebsd/amd64 windows/amd64 linux/arm linux/386 netbsd/amd64 linux/mips openbsd/amd64 linux/riscv64" + ## Cross-compile only the OS/arch combinations we actually publish, kept in + ## sync with the goos/goarch matrix in .github/goreleaser.yml. Compile-checking + ## targets we never ship (ppc64le, s390x, mips*, riscv64, 386, arm, the BSDs) + ## spent CI minutes on unshipped code and timed the gate out on a cold cache. + SUPPORTED_OSARCH="linux/amd64 linux/arm64 darwin/amd64 darwin/arm64 windows/amd64 windows/arm64" } function _build() {