Skip to content

Add winget to release targets#924

Open
Josef-Haupt wants to merge 1 commit into
mainfrom
920-add-winget-as-distribution-platfrom
Open

Add winget to release targets#924
Josef-Haupt wants to merge 1 commit into
mainfrom
920-add-winget-as-distribution-platfrom

Conversation

@Josef-Haupt

Copy link
Copy Markdown
Member

No description provided.

Copilot AI review requested due to automatic review settings June 15, 2026 09:48
@Josef-Haupt Josef-Haupt linked an issue Jun 15, 2026 that may be closed by this pull request

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Windows Package Manager (WinGet/winget) as an additional distribution channel by documenting winget install/upgrade commands and introducing a GitHub Actions workflow intended to submit WinGet manifest updates on new releases.

Changes:

  • Document WinGet install command in README.md.
  • Expand installation docs with WinGet install/upgrade instructions and maintainer notes.
  • Add .github/workflows/winget.yml to automate WinGet updates on release publish.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
README.md Adds a winget install snippet to the Download section.
docs/installation.rst Adds a winget installation/upgrade section and maintainer workflow reference.
.github/workflows/winget.yml New workflow to update/submit WinGet package manifests on release.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +31 to +49
env:
WINGET_CREATE_GITHUB_TOKEN: ${{ secrets.WINGET_CREATE_GITHUB_TOKEN }}

# Only submit stable releases
if: ${{ !github.event.release.prerelease }}
steps:
- name: Submit package using wingetcreate
run: |
# Get installer info from release event
$assets = '${{ toJSON(github.event.release.assets) }}' | ConvertFrom-Json
$x64InstallerUrl = $assets | Where-Object -Property name -like '*-win_amd64.exe' | Select-Object -ExpandProperty browser_download_url
$packageVersion = (${{ toJSON(github.event.release.tag_name) }}).TrimStart('v')

# Update package using wingetcreate
curl.exe -JLO https://aka.ms/wingetcreate/latest
.\wingetcreate.exe update BirdNET-Team.BirdNET-Analyzer `
--version $packageVersion `
--urls "$x64InstallerUrl|x64" `
--submit
Comment on lines +21 to +25
# GitHub token permissions needed for winget-create to submit a PR
permissions:
contents: read
pull-requests: write

Comment thread docs/installation.rst

winget upgrade BirdNET-Team.BirdNETAnalyzer

For maintainers, this repository contains a release workflow in `.github/workflows/winget.yml` that prepares Winget manifests from release assets. The workflow publishes those manifests as a build artifact and release zip, ready for submission to winget-pkgs.
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.

Add winget as distribution platfrom

2 participants