ci(release): publish a Windows zip alongside the tarball (#2286)

This commit is contained in:
João Manso
2026-08-05 15:30:12 +01:00
committed by GitHub
parent 58eee5a314
commit ad69533c10
+27
View File
@@ -812,13 +812,27 @@ jobs:
cd dist
tar -czf "kandev-${{ matrix.platform }}.tar.gz" kandev
shasum -a 256 "kandev-${{ matrix.platform }}.tar.gz" > "kandev-${{ matrix.platform }}.tar.gz.sha256"
# Windows package managers cannot consume the tarball: winget's
# InstallerType enum accepts zip as its only archive format, and
# Chocolatey's unzip helper needs two 7-Zip passes for a .tar.gz.
# The zip is published alongside the tarball, not instead of it —
# Homebrew and the npm runtime packages still read the tarball.
if [ "${{ matrix.goos }}" = "windows" ]; then
zip -qr "kandev-${{ matrix.platform }}.zip" kandev
shasum -a 256 "kandev-${{ matrix.platform }}.zip" > "kandev-${{ matrix.platform }}.zip.sha256"
fi
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: bundle-${{ matrix.platform }}
# The zip entries match nothing on the four non-Windows platforms.
# if-no-files-found is left at its default so a missing tarball is
# still an error.
path: |
dist/kandev-${{ matrix.platform }}.tar.gz
dist/kandev-${{ matrix.platform }}.tar.gz.sha256
dist/kandev-${{ matrix.platform }}.zip
dist/kandev-${{ matrix.platform }}.zip.sha256
build-desktop:
name: Build desktop app (${{ matrix.platform }})
@@ -1883,6 +1897,17 @@ jobs:
exit 1
fi
done
# The Windows zip is the only archive winget and Chocolatey can read.
# Losing it would break those channels while every other check here
# still passed, so it is verified explicitly.
for artifact in \
dist/release-assets/kandev-windows-x64.zip \
dist/release-assets/kandev-windows-x64.zip.sha256; do
if [ ! -f "$artifact" ]; then
echo "Missing required Windows artifact: $artifact" >&2
exit 1
fi
done
bash "$DESKTOP_ASSET_VERIFIER" dist/release-assets
ls -lh dist/release-assets
@@ -1923,6 +1948,8 @@ jobs:
dist/release-assets/kandev-macos-*.tar.gz.sha256
dist/release-assets/kandev-windows-*.tar.gz
dist/release-assets/kandev-windows-*.tar.gz.sha256
dist/release-assets/kandev-windows-*.zip
dist/release-assets/kandev-windows-*.zip.sha256
dist/release-assets/kandev-desktop-*
dist/release-assets/latest.json
preserve_order: true