ci(release): align release.yml with current CI — Go 1.25 + Windows MSYS2#19
Merged
Conversation
Two issues that would block the next tag-triggered release: 1. Go 1.22 vs go.mod's 1.25 — the workflow was pinned to an older Go when v0.1.0 was cut. Bump both setup-go calls to 1.25. 2. Windows release builds had the same sqlite3.h-not-found problem we just fixed in ci.yml. Mirror the fix: msys2/setup-msys2 with the mingw-w64-x86_64 toolchain, run GoReleaser through `shell: msys2` so gcc finds /mingw64/include from its native shell context. Restructured the GoReleaser invocation: the action is used in `install-only: true` mode (just drops the binary), then we run `goreleaser release --split --clean` ourselves with the appropriate shell per OS. This gives Windows the msys2 shell without forking the action's invocation logic. Linux arm64 cross-compile setup (gcc-aarch64-linux-gnu) is unchanged — it was already correct and continues to work for the ubuntu-latest runner that builds both amd64 and arm64 Linux binaries.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Pre-tag fix for two issues in `release.yml` that would block a v0.2.0 release:
Why directly to main
This is a CI-only change. No production code touches. Merging through develop would force a release-merge-back-to-develop sync we don't need. Filing directly to main with the standard PR + status-check gates.
Implementation note
GoReleaser-action is used in `install-only: true` mode now — it just drops the binary, then we invoke `goreleaser release --split --clean` ourselves. This lets Windows use `shell: msys2 {0}` for the GoReleaser run without forking the action's logic.
After this lands
Tag `v0.2.0` on main → release workflow triggers → cross-platform binaries land on the GitHub Releases page → `go install …@latest` finally points at current code.
Test plan