Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions .github/workflows/winget.yml
Original file line number Diff line number Diff line change
@@ -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

Comment on lines +21 to +25
# 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
Comment on lines +31 to +49
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
17 changes: 17 additions & 0 deletions docs/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,23 @@ GUI installer

You can download the latest BirdNET-Analyzer installer for Windows and MacOS from our `Releases page <https://github.com/birdnet-team/BirdNET-Analyzer/releases/latest>`_. 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 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.
| Feedback on older Intel CPUs or newer M3 chips is welcome!
Expand Down