Skip to content
This repository was archived by the owner on Feb 6, 2026. It is now read-only.

feat: automate Winget package submission#86

Merged
rianjs merged 1 commit intomainfrom
feat/winget-automation
Jan 17, 2026
Merged

feat: automate Winget package submission#86
rianjs merged 1 commit intomainfrom
feat/winget-automation

Conversation

@rianjs
Copy link
Collaborator

@rianjs rianjs commented Jan 17, 2026

Summary

Automates Winget package submission using wingetcreate to create PRs to microsoft/winget-pkgs.

Changes

New: Manual Workflow (.github/workflows/winget-publish.yml)

For initial submission and retries:

  1. Go to Actions → "Publish to Winget"
  2. Enter version (e.g., 0.9.9)
  3. Workflow creates PR to microsoft/winget-pkgs

Updated: Release Workflow (.github/workflows/release.yml)

Adds winget job that runs after GoReleaser to automatically submit new releases.

Documentation Updates

  • CLAUDE.md - Updated Winget entry in packaging section
  • packaging/winget/README.md - Added automation section

Required Setup

  1. Create GitHub PAT with public_repo scope at https://github.com/settings/tokens
  2. Add as org/repo secret named WINGET_GITHUB_TOKEN

How It Works

Unlike Chocolatey (direct publish), Winget uses wingetcreate --submit which:

  1. Downloads the release artifacts
  2. Computes SHA256 checksums
  3. Generates manifest files
  4. Creates a PR to microsoft/winget-pkgs
  5. Microsoft's automation validates and merges

Closes #77

- Add manual workflow for initial/retry submissions
- Add winget job to release workflow for automatic submission
- Update documentation

Closes #77
@rianjs rianjs merged commit 2e6826a into main Jan 17, 2026
4 checks passed
@rianjs rianjs deleted the feat/winget-automation branch January 17, 2026 12:21
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Submit Winget package to microsoft/winget-pkgs

1 participant