Skip to content

feat(_release-rust): opt-in bare Windows .exe release asset#102

Merged
emmanuelm41 merged 1 commit into
mainfrom
feat/upload-windows-exe
Jun 19, 2026
Merged

feat(_release-rust): opt-in bare Windows .exe release asset#102
emmanuelm41 merged 1 commit into
mainfrom
feat/upload-windows-exe

Conversation

@emmanuelm41

Copy link
Copy Markdown
Member

Opt-in upload_windows_exe (default false → backward-compatible, so v10 can keep floating). When enabled, Windows targets publish the Authenticode-signed binary as a first-class release asset <binary_name>-<triple>.exe (+ .sha256) in addition to the .zip (cargo-binstall still uses the zip).

Why: deep research on winget packaging found that a bare .exe as InstallerType: portable is more robust than zip→nested-portable — komac doesn't auto-detect nested-portable fields, and nested-portable has an upgrade/uninstall hang risk (winget-cli #3279/#4242). kache's package-publish.yml winget job consumes this .exe.

Backward-compatible: gated if: inputs.upload_windows_exe && contains(matrix.target, 'windows'), default off — same pattern as build_deb. Merge → move v10 to include it; kache #374 already sets upload_windows_exe: true (so kache #374 must merge after this).

Adds opt-in input upload_windows_exe (default false → backward-compatible).
When set, Windows targets also publish the Authenticode-signed binary as a
first-class asset <binary_name>-<triple>.exe (+ .sha256) alongside the .zip,
so winget can install it as InstallerType: portable (no zip-nesting; avoids
the nested-portable upgrade/uninstall hang). Same gating pattern as build_deb.
@emmanuelm41 emmanuelm41 marked this pull request as ready for review June 19, 2026 12:10
@emmanuelm41 emmanuelm41 merged commit 2e076e5 into main Jun 19, 2026
1 check passed
@emmanuelm41 emmanuelm41 deleted the feat/upload-windows-exe branch June 19, 2026 12:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant