Skip to content

[Feature Request]: Winget repo update on upload of a new Publii version #2309

@YasharF

Description

@YasharF

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.exe and uses it to generate an updated manifest and submit it to the WinGet package repository microsoft/winget-pkgs.

The core update process is essentially:

  1. Download the latest wingetcreate.exe from https://aka.ms/wingetcreate/latest.
  2. Set WINGET_CREATE_GITHUB_TOKEN to a classic PAT with repo permissions.
  3. Set TAG to the new Publii version.
  4. 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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions