Skip to content

Add fully automated Winget publishing to build pipeline#1

Draft
Copilot wants to merge 6 commits into
masterfrom
copilot/add-package-to-winget
Draft

Add fully automated Winget publishing to build pipeline#1
Copilot wants to merge 6 commits into
masterfrom
copilot/add-package-to-winget

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Feb 8, 2026

Enables distribution via winget install ScottHanselman.MaximizeToVirtualDesktop with fully automated publishing on every release.

How It Works

The release pipeline is fully automated — no manual steps after one-time setup:

Push tag v0.0.3
  → build.yml: build, sign, create GitHub release
  → build.yml (publish-winget job): submit manifest to winget-pkgs
  → Microsoft validates & merges
  → Users can run: winget install ScottHanselman.MaximizeToVirtualDesktop

Changes

Automation

  • build.yml: Added publish-winget job that chains after the build job on tag pushes, using vedantmgoyal2009/winget-releaser to automatically submit manifests to winget-pkgs
  • .github/workflows/winget-publish.yml: Manual-only fallback workflow (workflow_dispatch) for re-submitting a version if needed
  • Requires WINGET_TOKEN secret (GitHub PAT with public_repo scope)

Documentation

  • WINGET.md: Focused guide covering the automated pipeline, one-time setup (PAT + initial submission), and manual fallback
  • README.md: Added Installation section with download instructions and winget preview

One-Time Setup Required

  1. Create a GitHub PAT with public_repo scope and add it as repo secret WINGET_TOKEN
  2. Submit the initial package version manually with wingetcreate new (winget-releaser handles updates, not first-time packages)

After initial approval, every tag push auto-publishes to winget.

Original prompt

How would I add this to Winget


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 4 commits February 8, 2026 05:18
Co-authored-by: shanselman <2892+shanselman@users.noreply.github.com>
Co-authored-by: shanselman <2892+shanselman@users.noreply.github.com>
Co-authored-by: shanselman <2892+shanselman@users.noreply.github.com>
Co-authored-by: shanselman <2892+shanselman@users.noreply.github.com>
Copilot AI changed the title [WIP] Add package to Winget Add Windows Package Manager (winget) submission documentation and automation Feb 8, 2026
Copilot AI requested a review from shanselman February 8, 2026 05:22
@iAmBipinPaul
Copy link
Copy Markdown

That was quick yay 🚀

@shanselman
Copy link
Copy Markdown
Owner

@copilot how do I make this automatically update with versions? do we need to change the github actions? I want this to be as automated as possible

Co-authored-by: shanselman <2892+shanselman@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Feb 8, 2026

@copilot how do I make this automatically update with versions? do we need to change the github actions? I want this to be as automated as possible

Integrated winget publishing directly into build.yml as a chained job in 25287e4. The pipeline is now fully automated:

Tag push → build & sign → GitHub release → winget-pkgs PR — all in one workflow.

The original separate winget-publish.yml wouldn't have worked because GitHub Actions events created by GITHUB_TOKEN don't trigger other workflows. Moving it into build.yml as a needs: build job fixes that.

One-time setup needed:

  1. Create a GitHub PAT with public_repo scope
  2. Add it as repo secret WINGET_TOKEN
  3. Do the initial manual submission with wingetcreate new (winget-releaser handles updates, not first-time packages)

After that, every tag push auto-publishes to winget. There's also a manual fallback workflow (Publish to Winget (Manual)) for re-submissions if needed.

Details in the streamlined WINGET.md.

Copilot AI changed the title Add Windows Package Manager (winget) submission documentation and automation Add fully automated Winget publishing to build pipeline Feb 8, 2026
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.

3 participants