Repository navigation
feat: add zip archives for the Windows builds - #1001
Open
fiodortretyakov wants to merge 2 commits into
Open
fiodortretyakov wants to merge 2 commits into
fiodortretyakov wants to merge 2 commits into
Conversation
fiodortretyakov
requested review from
ld-ahartmann
and removed request for
a team
October 31, 2026 17:45
ld-ahartmann
approved these changes
Nov 2, 2026
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.
Requirements
Related issues
None in this repository. winget installs archives only from zip files. microsoft/winget-cli#2899 asks for other formats and is still open.
Describe the solution you've provided
Each Windows build now also gets a zip archive, next to its tar.gz archive. The new
archivesblock in.goreleaser.yamlkeeps tar.gz for all builds and adds zip for Windows.With the zip archives, I can add ldcli to winget as a new community package,
LaunchDarkly.ldcli, for x86, x64 and arm64. Thenwinget install LaunchDarkly.ldcliinstalls the native build on each Windows architecture.No other part of the release changes:
./dist/*.zip(fix: tolerate missing *.zip in gh release upload #693).goBinary.urlinpackage.json).Describe alternatives you've considered
npm installon Windows, because the npm package downloads the tar.gz archive.wingetpublisher. It needs a GitHub token with write access to a fork of microsoft/winget-pkgs. A community package needs only the zip archives from this repository, and a bot can update the package for each release.Additional context
I ran
goreleaser checkandgoreleaser release --snapshot --skip=dockeron Windows on Arm with GoReleaser 2.9.0, 2.12.5 and 2.19.0. The change adds no warning. With 2.19.0,goreleaser checkreports the deprecatedbrewsanddockerssections, the same as without this change. Each snapshot made these Windows archives, and its checksums file had an entry for each of them:Each zip archive has the same four files as the tar.gz archive:
ldcli.exe,CHANGELOG.md,LICENSE, andREADME.md. The macOS and Linux builds still get only tar.gz archives. The cross compilers for cgo are only in your goreleaser-cross image. So for the test, I built an empty main package without cgo, and I removed theCCandCXXsettings and the post-build hook.Note
Overview
Windows release artifacts now ship as both
tar.gzand zip via a newarchivesblock in.goreleaser.yaml. Default packaging staystar.gzfor macOS and Linux; aformat_overridesentry forgoos: windowsadds zip alongside tar.gz so winget can consume zip-only installs while the npmgoBinary.urlpath keeps using tar.gz on Windows.No application or install-script logic changes—only GoReleaser archive output for Windows (386, amd64, arm64).
Reviewed by Cursor Bugbot for commit 93569f1. Bugbot is set up for automated code reviews on this repo. Configure here.