-
-
Notifications
You must be signed in to change notification settings - Fork 454
Description
Feature Description
Hi folks,
I noticed in #606 that keeping the WinGet package updated isn't currently a high priority, and saw that the version in the WinGet repo had been stuck at 0.46.0. As someone who primarily uses WinGet for app updates, I decided to help out by setting up an automated workflow to keep the WinGet manifests in sync with your releases.
You can see the project here: https://github.com/SeattleDevs/Publii-Winget-Update — it has already updated the WinGet package to 0.46.5.
Example run:
https://github.com/SeattleDevs/Publii-Winget-Update/actions/runs/17471950660/job/49622295305
This run auto‑created microsoft/winget-pkgs#290325 using a classic GitHub personal access token stored as a secret in that repo.
How it works (current setup):
- Runs daily via a cron schedule.
- Checks the tags in your GitHub repo for the latest stable version.
- Compares that version to what's published in the WinGet community repo.
- If a newer version is found, it downloads
wingetcreate.exeand uses it to generate an updated manifest and submit it to the WinGet package repositorymicrosoft/winget-pkgs.
The core update process is essentially:
- Download the latest
wingetcreate.exefromhttps://aka.ms/wingetcreate/latest. - Set
WINGET_CREATE_GITHUB_TOKENto a classic PAT withrepopermissions. - Set
TAGto the new Publii version. - Run:
.\wingetcreate.exe update TidyCustoms.Publii `
-u "https://getpublii.com/download/Publii-$env:TAG.exe|x64|user" `
-v "$env:TAG" `
--submit
My repo with its running workflow works fine as a stopgap, but it's not the most efficient since it polls daily. Ideally, the update process could be tied into your Publii installer‑to‑web upload process so that, as soon as a new version is available on your website, wingetcreate is triggered automatically (ideally with a single command) to update the WinGet manifest at Microsoft - removing the need for my external workflow entirely.
I'm happy to keep this running in the meantime, but if you'd prefer, I can transfer the repo to you, or step back once you have an official automation in place.
Cheers!