feat: add Windows binary to release pipeline and self-updater#246
feat: add Windows binary to release pipeline and self-updater#246CalebisGross merged 2 commits intomainfrom
Conversation
The release workflow, goreleaser config, and self-updater now support Windows amd64. Releases produce a .zip archive for Windows alongside .tar.gz for macOS/Linux. The updater detects the platform and extracts from the correct archive format. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
@CalebisGross — this adds Windows to the release pipeline so the dashboard self-update button works on Windows. The updater now handles .zip extraction. Ready for review. |
|
Nice work — clean PR, well-scoped. Two things to address: 1. Add test coverage for
2. Checksum glob is fragile run: sha256sum *.tar.gz *.zip > checksums.txtIf either glob matches nothing (e.g. a matrix entry is skipped or fails), run: |
shopt -s nullglob
sha256sum *.tar.gz *.zip > checksums.txtEverything else looks good — |
Add TestExtractBinaryFromZip and TestExtractBinaryFromZipNotFound to cover the new zip extraction path. Use shopt nullglob in the release checksum step so sha256sum doesn't error if a glob matches nothing. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Both items addressed, looks good. Thanks Jason! |
Summary
windows/amd64to the release workflow build matrix and goreleaser config.zipformat (vs.tar.gzfor macOS/Linux)extractBinaryFromZipfor Windows,extractBinaryFromTarGzfor others).tar.gzand.zipassetsContext
The dashboard "Click to update" button returned
no release asset found for windows/amd64because no Windows binary was included in GitHub Releases. This PR adds Windows to the release pipeline so the self-updater works end-to-end.Test plan
go test ./...— all 19 packages passgo vet ./...— cleanmake build— compiles on Windows🤖 Generated with Claude Code