-
-
Notifications
You must be signed in to change notification settings - Fork 1
fix(release): use direct Go build instead of build action #272
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
The build action only supports wails2/cpp stacks and defaults to wails2 for unknown projects. Core is a pure Go CLI with no frontend, so it needs direct go build. Changes: - Replace host-uk/build@dev with direct go build steps - Build separate darwin/amd64 and darwin/arm64 (no universal binary) - Set CGO_ENABLED=0 for static binaries - Inject version via -ldflags Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
Note Gemini is unable to generate a summary for this pull request due to the file types involved not being currently supported. |
📝 WalkthroughWalkthroughThe release workflow is restructured to implement a Go-focused build process using explicit OS/architecture matrix pairs, with automated setup, compilation, artifact naming, and release handling through GitHub Actions. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/workflows/release.yml (1)
75-79:⚠️ Potential issue | 🟡 MinorSilencing errors may mask missing artifacts.
The
2>/dev/null || truepattern suppresses all errors, including cases where no artifacts were downloaded. If the build job fails partially or artifacts are missing, this step would succeed silently, potentially creating a release with missing binaries.Consider adding validation:
🛡️ Proposed fix to validate artifacts exist
- name: Prepare release files run: | mkdir -p release - cp dist/* release/ 2>/dev/null || true + cp dist/* release/ + if [ -z "$(ls -A release/)" ]; then + echo "Error: No release artifacts found" + exit 1 + fi ls -la release/
🧹 Nitpick comments (1)
.github/workflows/release.yml (1)
40-44: Consider extracting Go version to a single source of truth.Hardcoding
go-version: '1.23'works, but maintaining version consistency becomes easier if the version is derived fromgo.modor a repository variable. The setup-go action supports reading fromgo.mod:go-version-file: 'go.mod'This ensures the workflow always uses the same Go version declared in the project.
Summary
go buildChanges
host-uk/build@devwith direct Go build stepsCGO_ENABLED=0for static binaries-ldflags -X main.Version=...Context
This unblocks the core CLI release. Once this is merged, we can tag a version and the release workflow will build binaries for all platforms.
🤖 Generated with Claude Code
Summary by CodeRabbit