Skip to content

Publish to winget on release - #1549

Closed
daberkow wants to merge 1 commit into
mainfrom
winget-auto-publish
Closed

daberkow wants to merge 1 commit into
mainfrom
winget-auto-publish

Conversation

@daberkow

@daberkow daberkow commented Sep 21, 2026 •

Copy link
Copy Markdown

What
Adds a publish-winget job to the release workflow, identically to publish-homebrew-formula; opening a PR against microsoft/winget-pkgs for each new release. This allows winget install OxideComputer.OxideCLI to work for customer administrators on Windows.

Uses vedantmgoyal9/winget-releaser (a wrapper around komac), which bases the new manifests on the previous version already in winget-pkgs. That means the zip/nested-portable layout, the oxide.exe command alias and the locale metadata all carry over without being restated here.

Two bits of local knowledge are encoded: our tags carry build metadata (v0.18.0+2026073100.0.0) while the winget PackageVersion is the bare semver (0.18.0), and the installer regex has to select the Windows zip without also matching its .sha256 sidecar.

Tested
Ran komac in --dry-run against the published 0.18.0 artifacts. And artifacts match what would be expected.

Next Step
Requires a WINGET_TOKEN repository secret, which does not exist yet: a classic PAT with public_repo scope (fine-grained tokens are not supported by the action) belonging to an account with write access to the oxidecomputer/winget-pkgs fork.

This has been manually done: microsoft/winget-pkgs#436034, and the next step is automating it.

Adds a publish-winget job to the release workflow, gated identically to
publish-homebrew-formula, that opens a PR against microsoft/winget-pkgs
for each new release.

Uses vedantmgoyal9/winget-releaser (a wrapper around komac), which bases
the new manifests on the previous version already in winget-pkgs. That
means the zip/nested-portable layout, the oxide.exe command alias and the
locale metadata all carry over without being restated here.

Two bits of local knowledge are encoded: our tags carry build metadata
(v0.18.0+2026073100.0.0) while the winget PackageVersion is the bare
semver (0.18.0), and the installer regex has to select the Windows zip
without also matching its .sha256 sidecar.

Requires a WINGET_TOKEN repository secret, which does not exist yet: a
classic PAT with public_repo scope (fine-grained tokens are not supported
by the action) belonging to an account with write access to the
oxidecomputer/winget-pkgs fork.
@daberkow daberkow closed this Sep 21, 2026
@daberkow
daberkow deleted the winget-auto-publish branch September 21, 2026 22:23
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