From 3572cd98563ea2937e0daa764fd4c5f96754e31a Mon Sep 17 00:00:00 2001 From: Casey Labs <4674433+CaseyLabs@users.noreply.github.com> Date: Mon, 8 Jun 2026 15:22:42 -0700 Subject: [PATCH 1/2] ci: update release assets --- .github/actions/codegen-and-test/action.yml | 27 +++++++++++++++++++++ .github/workflows/build-and-release.yml | 26 ++++++++++++++++---- .github/workflows/release-latest-assets.yml | 26 ++++++++++++++++---- 3 files changed, 69 insertions(+), 10 deletions(-) diff --git a/.github/actions/codegen-and-test/action.yml b/.github/actions/codegen-and-test/action.yml index aaa32cb5e..691f9b4e7 100644 --- a/.github/actions/codegen-and-test/action.yml +++ b/.github/actions/codegen-and-test/action.yml @@ -8,3 +8,30 @@ runs: shell: bash - run: go test -race ./... shell: bash + - run: | + tmp_dir="$(mktemp -d)" + trap 'rm -rf "$tmp_dir"' EXIT + + build_target() { + local goos="$1" + local goarch="$2" + local goarm="$3" + local output="$4" + + if [ -n "$goarm" ]; then + env GOOS="$goos" GOARCH="$goarch" GOARM="$goarm" \ + go build -o "$tmp_dir/$output" . + else + env GOOS="$goos" GOARCH="$goarch" \ + go build -o "$tmp_dir/$output" . + fi + } + + build_target linux amd64 "" gomud-linux_x64 + build_target linux arm64 "" gomud-linux_arm64 + build_target linux arm 7 gomud-linux_armv7 + build_target windows amd64 "" gomud-windows_x64.exe + build_target windows arm64 "" gomud-windows_arm64.exe + build_target darwin amd64 "" gomud-darwin_x64 + build_target darwin arm64 "" gomud-darwin_arm64 + shell: bash diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index 6c9895519..c31c24b18 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -149,6 +149,12 @@ jobs: -ldflags "-X main.version=${BINARY_VERSION}" -o bin/gomud-windows_x64.exe . + - name: Build windows arm64 + run: >- + env GOOS=windows GOARCH=arm64 go build -v + -ldflags "-X main.version=${BINARY_VERSION}" + -o bin/gomud-windows_arm64.exe . + - name: Build darwin/arm64 run: >- env GOOS=darwin GOARCH=arm64 go build -v @@ -167,11 +173,17 @@ jobs: -ldflags "-X main.version=${BINARY_VERSION}" -o bin/gomud-linux_x64 . - - name: Build linux/arm5 + - name: Build linux/arm64 + run: >- + env GOOS=linux GOARCH=arm64 go build -v + -ldflags "-X main.version=${BINARY_VERSION}" + -o bin/gomud-linux_arm64 . + + - name: Build linux/armv7 run: >- - env GOOS=linux GOARCH=arm GOARM=5 go build -v + env GOOS=linux GOARCH=arm GOARM=7 go build -v -ldflags "-X main.version=${BINARY_VERSION}" - -o bin/gomud-linux_arm5 . + -o bin/gomud-linux_armv7 . - name: Upload bin # actions/upload-artifact v7.0.1 @@ -222,10 +234,12 @@ jobs: cd bin sha256sum \ gomud-windows_x64.exe \ + gomud-windows_arm64.exe \ gomud-darwin_arm64 \ gomud-darwin_x64 \ gomud-linux_x64 \ - gomud-linux_arm5 \ + gomud-linux_arm64 \ + gomud-linux_armv7 \ "${DATAFILES_ARCHIVE}" \ > "${CHECKSUMS_FILE}" @@ -272,10 +286,12 @@ jobs: run: | assets=( bin/gomud-windows_x64.exe + bin/gomud-windows_arm64.exe bin/gomud-darwin_arm64 bin/gomud-darwin_x64 bin/gomud-linux_x64 - bin/gomud-linux_arm5 + bin/gomud-linux_arm64 + bin/gomud-linux_armv7 "bin/$DATAFILES_ARCHIVE" "bin/$CHECKSUMS_FILE" ) diff --git a/.github/workflows/release-latest-assets.yml b/.github/workflows/release-latest-assets.yml index e1db6db3a..8e6a9afb4 100644 --- a/.github/workflows/release-latest-assets.yml +++ b/.github/workflows/release-latest-assets.yml @@ -99,6 +99,12 @@ jobs: -ldflags "-X main.version=${{ env.BINARY_VERSION }}" -o bin/gomud-windows_x64.exe . + - name: Build windows arm64 + run: >- + env GOOS=windows GOARCH=arm64 go build -v + -ldflags "-X main.version=${{ env.BINARY_VERSION }}" + -o bin/gomud-windows_arm64.exe . + - name: Build darwin/arm64 run: >- env GOOS=darwin GOARCH=arm64 go build -v @@ -117,11 +123,17 @@ jobs: -ldflags "-X main.version=${{ env.BINARY_VERSION }}" -o bin/gomud-linux_x64 . - - name: Build linux/arm5 + - name: Build linux/arm64 + run: >- + env GOOS=linux GOARCH=arm64 go build -v + -ldflags "-X main.version=${{ env.BINARY_VERSION }}" + -o bin/gomud-linux_arm64 . + + - name: Build linux/armv7 run: >- - env GOOS=linux GOARCH=arm GOARM=5 go build -v + env GOOS=linux GOARCH=arm GOARM=7 go build -v -ldflags "-X main.version=${{ env.BINARY_VERSION }}" - -o bin/gomud-linux_arm5 . + -o bin/gomud-linux_armv7 . - name: Upload bin # actions/upload-artifact v7.0.1 @@ -171,10 +183,12 @@ jobs: cd bin sha256sum \ gomud-windows_x64.exe \ + gomud-windows_arm64.exe \ gomud-darwin_arm64 \ gomud-darwin_x64 \ gomud-linux_x64 \ - gomud-linux_arm5 \ + gomud-linux_arm64 \ + gomud-linux_armv7 \ "${{ env.DATAFILES_ARCHIVE }}" \ > "${{ env.CHECKSUMS_FILE }}" @@ -221,10 +235,12 @@ jobs: run: | assets=( bin/gomud-windows_x64.exe + bin/gomud-windows_arm64.exe bin/gomud-darwin_arm64 bin/gomud-darwin_x64 bin/gomud-linux_x64 - bin/gomud-linux_arm5 + bin/gomud-linux_arm64 + bin/gomud-linux_armv7 "bin/$DATAFILES_ARCHIVE" "bin/$CHECKSUMS_FILE" ) From 74cb3456acfc5057f00fec40d2eaea5de9e16823 Mon Sep 17 00:00:00 2001 From: Casey Labs <4674433+CaseyLabs@users.noreply.github.com> Date: Mon, 8 Jun 2026 15:35:51 -0700 Subject: [PATCH 2/2] ci: show release target build output --- .github/actions/codegen-and-test/action.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/actions/codegen-and-test/action.yml b/.github/actions/codegen-and-test/action.yml index 691f9b4e7..ffdb92413 100644 --- a/.github/actions/codegen-and-test/action.yml +++ b/.github/actions/codegen-and-test/action.yml @@ -8,7 +8,8 @@ runs: shell: bash - run: go test -race ./... shell: bash - - run: | + - name: Cross-compile release targets + run: | tmp_dir="$(mktemp -d)" trap 'rm -rf "$tmp_dir"' EXIT @@ -18,13 +19,15 @@ runs: local goarm="$3" local output="$4" + echo "::group::Build $output ($goos/$goarch${goarm:+ GOARM=$goarm})" if [ -n "$goarm" ]; then env GOOS="$goos" GOARCH="$goarch" GOARM="$goarm" \ - go build -o "$tmp_dir/$output" . + go build -v -o "$tmp_dir/$output" . else env GOOS="$goos" GOARCH="$goarch" \ - go build -o "$tmp_dir/$output" . + go build -v -o "$tmp_dir/$output" . fi + echo "::endgroup::" } build_target linux amd64 "" gomud-linux_x64