GoXLR-on-Linux / goxlr-utility

An unofficial GoXLR App replacement for Linux, Windows and MacOS
MIT License
635 stars 36 forks source link

Added winget publish pipeline #148

Open parzival-space opened 5 months ago

parzival-space commented 5 months ago

This should automate the release/update process for the GoXLR-on-Linux.GoXLR-Utility winget package. The pipeline basically consists of only one action that is executed as soon as a new version is released.

There are no manifest files included in this PR as the action will only update the existing one that I have already published in the community repository.

Sadly, you cannot easily merge this PR yet. Winget works by creating and merging PRs from users on the Github user repository. So all this pipeline does is automatically creating the PR for you using your account.

The pipeline expects an action secret called WINGET_TOKEN, which must be a classic personal access token with the scope public_repo.

You will also need a fork of the winget-pks repository on the account that will run the action. I personally would create a bot account for this action, just to not clutter my github repos. But that's entirely up to you 🙂

The action has the option to specify the username of the Github account that will be used to create the PR by adding fork-user to the winget-releaser step.

parzival-space commented 5 months ago

Just to provide an example for runnging this under a different user:

- uses: vedantmgoyal2009/winget-releaser@v2
  with:
      identifier: GoXLR-on-Linux.GoXLR-Utility
      installers-regex: ^goxlr-utility-(\d+(\.\d+)*)\.exe$
      token: ${{ secrets.WINGET_TOKEN }} # token for goxlr-utility-bot
      fork-user: goxlr-utility-bot

This should run the action as goxlr-utility-bot with the given WINGET_TOKEN.