- Allow packaging/winget/*.sh via .gitignore (global *.sh ignore) - Track packaging/winget/generate-winget-manifest.sh (bump version/SHA + sync .winget mirror) - docs/RELEASE_RUNBOOK: 34-file -> 27-file single-binary inventory (codewhale+codew only) 7x1 matrix verified, FreeBSD source-build note stays in release-artifacts.yml and docs/INSTALL.md (#1097) and winget manifests resolve #1561. Co-Authored-By: internal-model
winget packaging for CodeWhale
This directory holds the source winget manifest for Hmbown.CodeWhale (resolves #1561).
The single-binary release (v0.9.5+) ships codewhale + codew per target — no codewhale-tui asset.
Files
Hmbown.CodeWhale.yaml— singleton manifest forwinget install Hmbown.CodeWhale. The installers all point at the signed (or checksum-verified) GitHub Release assets for the same version (CodeWhaleSetup.exefor x64 NSIS, plus portable ZIP fallbacks for x64/arm64).generate-winget-manifest.sh— bumpsPackageVersion,ReleaseDate, and the fourInstallerSha256placeholders from a localrelease-assets/checkout..winget/Hmbown.CodeWhale.yaml(repo root) is a verbatim mirror for tooling that expects.winget/. Keep both in sync;packaging/winget/Hmbown.CodeWhale.yamlis canonical.
Version flow
- Tag
vX.Y.ZpublishesCodeWhaleSetup.exe,codewhale-windows-x64.zip,codewhale-windows-x64-portable.zip,codewhale-windows-arm64.zip,codewhale-windows-arm64-portable.zip, andcodewhale-artifacts-sha256.txt. - From the release tag checkout, run:
It rewrites both
./packaging/winget/generate-winget-manifest.sh X.Y.Z /path/to/release-assetspackaging/winget/Hmbown.CodeWhale.yamland.winget/Hmbown.CodeWhale.yamlwith the fresh version and the four SHA-256 values extracted fromcodewhale-artifacts-sha256.txt. - Validate locally with
winget validate(requires winget + the manifest schema):winget validate --manifest packaging/winget/Hmbown.CodeWhale.yaml # or the Microsoft validator in winget-pkgs CI: # https://github.com/microsoft/winget-pkgs#validation - Submit to microsoft/winget-pkgs via
wingetcreateor a manual PR that addsmanifests/h/Hmbown/CodeWhale/X.Y.Z/:The generated PR must pass the winget-pkgs validation workflow before merge.wingetcreate update Hmbown.CodeWhale --version X.Y.Z --urls \ https://github.com/Hmbown/CodeWhale/releases/download/vX.Y.Z/CodeWhaleSetup.exe \ https://github.com/Hmbown/CodeWhale/releases/download/vX.Y.Z/codewhale-windows-x64.zip \ https://github.com/Hmbown/CodeWhale/releases/download/vX.Y.Z/codewhale-windows-x64-portable.zip \ https://github.com/Hmbown/CodeWhale/releases/download/vX.Y.Z/codewhale-windows-arm64.zip \ https://github.com/Hmbown/CodeWhale/releases/download/vX.Y.Z/codewhale-windows-arm64-portable.zip
Single-binary note
Until v0.9.4 the release matrix was 7 targets × 3 binaries (codewhale, codew, codewhale-tui).
v0.9.5 is 7×1 — each target publishes only codewhale + codew (Windows also ships codewhale.bat
via the npm wrapper). The winget ZIP NestedInstallerFiles therefore lists only those two
executables; codewhale-tui.exe is intentionally absent.
FreeBSD
FreeBSD has no prebuilt GitHub Release asset (see docs/INSTALL.md § FreeBSD). Install via Cargo:
pkg install -y rust pkgconf # or ports-mgmt/pkg
cargo install codewhale-cli --locked # provides `codewhale` and `codew`
The npm wrapper on FreeBSD exits with Unsupported platform: freebsd and points to the Cargo path.
A native pkg install codewhale port is tracked as a follow-up to #1097 — contributions welcome
under packaging/freebsd/.