From ffd6b4f9de1fd0442d09dec3f727b1eabf881f7b Mon Sep 17 00:00:00 2001 From: Josef Haupt Date: Mon, 15 Jun 2026 11:48:08 +0200 Subject: [PATCH 1/2] initial workflow --- .github/workflows/winget.yml | 49 ++++++++++++++++++++++++++++++++++++ README.md | 6 +++++ docs/installation.rst | 17 +++++++++++++ 3 files changed, 72 insertions(+) create mode 100644 .github/workflows/winget.yml diff --git a/.github/workflows/winget.yml b/.github/workflows/winget.yml new file mode 100644 index 000000000..42240908a --- /dev/null +++ b/.github/workflows/winget.yml @@ -0,0 +1,49 @@ +name: Submit release to Winget repo + +on: + release: + types: [published] + workflow_dispatch: + inputs: + release_tag: + description: Release tag to process (for example, v3.0.0) + required: true + type: string + package_version: + description: Package version override (defaults to release_tag without leading v) + required: false + type: string + +jobs: + publish-winget: + name: Submit to Winget repo + + # GitHub token permissions needed for winget-create to submit a PR + permissions: + contents: read + pull-requests: write + + # winget-create is only supported on Windows + runs-on: windows-latest + + # winget-create will read the following environment variable to access the GitHub token needed for submitting a PR + # See https://aka.ms/winget-create-token + 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 diff --git a/README.md b/README.md index df156b2dd..b0908bd1c 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,12 @@ You can access documentation for this project [here](https://birdnet-team.github ## Download You can download installers for Windows and macOS from the [releases page](https://github.com/birdnet-team/BirdNET-Analyzer/releases/latest). +On Windows, once the package is published in the Windows Package Manager, you can also install it with: + +```powershell +winget install BirdNET-Team.BirdNETAnalyzer +``` + Models can be found on [Zenodo](https://zenodo.org/records/15050749). ## About diff --git a/docs/installation.rst b/docs/installation.rst index 84d452ca6..11d41bc67 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -8,6 +8,23 @@ GUI installer You can download the latest BirdNET-Analyzer installer for Windows and MacOS from our `Releases page `_. This installer provides an easy setup process for running BirdNET-Analyzer on your system. Make sure to check to select the correct installer for your system. +Windows package manager (winget) +-------------------------------- + +On Windows, once the package is published in the Windows Package Manager, you can install BirdNET-Analyzer with: + +.. code-block:: powershell + + winget install BirdNET-Team.BirdNETAnalyzer + +To upgrade later: + +.. code-block:: powershell + + 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. + .. note:: | Installation was only tested on M1 and M2 chips. | Feedback on older Intel CPUs or newer M3 chips is welcome! From de4c1c0bc41a0f4255c3e3c385aa5315ce4e4cbe Mon Sep 17 00:00:00 2001 From: Josef Haupt Date: Wed, 1 Jul 2026 17:04:38 +0200 Subject: [PATCH 2/2] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- docs/installation.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation.rst b/docs/installation.rst index 11d41bc67..0a2075503 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -23,7 +23,7 @@ To upgrade later: 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. +For maintainers, this repository contains a release workflow in `.github/workflows/winget.yml` that submits an updated Winget manifest PR based on the current GitHub release assets (via wingetcreate), ready for review/merge in winget-pkgs. .. note:: | Installation was only tested on M1 and M2 chips.