Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Winget auto-update workflow

Aperta Adatta ai principianti
#2,321 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
68/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Tranquilla
Stack tecnologico
github-actions
Ambito
ci-cd, release

Direzione di ricerca

Inizia con l’action WinGet Releaser proposta e la relativa configurazione dell’evento release, quindi controlla le convenzioni GitHub Actions esistenti del repository prima di aggiungere il workflow. Conferma che i maintainer possano fornire il token classico public_repo e un fork di winget-pkgs; il lavoro è completato quando una release stabile pubblicata seleziona l’asset .msi e apre una PR di aggiornamento per RimSort.RimSort.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

feature/improvement 🆕
Origin of idea

I recently updated the winget package RimSort.RimSort to 1.8.0, it had been stuck on 1.0.30 for about a year. That PR to microsoft/winget-pkgs has now been merged, so winget users can get the current release again. (Congrats on 1.10.0 release!)
In the process I also switched the manifest from the old zip/portable setup to the .msi, which installs and uninstalls cleanly.
To avoid the package falling behind, I'd like to set up a small GitHub Actions workflow that automatically publishes each new RimSort release to winget, and I'm happy to write it and submit the PR myself.

Suggestion/proposed solution?

The community standard for this is the WinGet Releaser action, which runs Komac under the hood. On each published release it reads the release assets, generates the updated manifests using the existing published version as a base, and opens the PR to microsoft/winget-pkgs automatically. The PRs it produces are well-trusted by winget moderators, so they tend to get reviewed and merged quickly.

The workflow itself is tiny:

name: Publish to WinGet
on:
  release:
    types: [released]
jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - uses: vedantmgoyal9/winget-releaser@v2
        with:
          identifier: RimSort.RimSort
          installers-regex: '\.msi$'
          token: ${{ secrets.WINGET_TOKEN }}

A couple of RimSort-specific notes:

  • installers-regex: '.msi$' pins it to the MSI asset, so it stays consistent with the current manifest and doesn't pick up the .zip Windows asset.
  • types: [released] fires only on published stable releases, not prereleases, so draft/pre-release builds won't get pushed to winget.
What the workflow needs from maintainers

The action requires two things set up on your side, which is really the only reason this needs maintainer involvement:

  1. A classic Personal Access Token with public_repo scope, stored as a repo secret (e.g. WINGET_TOKEN). Note: fine-grained PATs are not supported, Komac can build manifests with one but can't open the PR to winget-pkgs, so it has to be a classic token.
  2. A fork of microsoft/winget-pkgs under the account that owns the token. If the fork lives on a personal/bot account rather than the RimSort org, the action's fork-user input can point at it.
    (One version already being present in winget-pkgs is also a prerequisite, that's covered by the 1.0.30 and 1.8.0 manifests.)
Alternatives considered

If you'd prefer something that doesn't depend on the release event firing, michidk/winget-updater does the same thing but polls for the latest GitHub release on a schedule instead. Same Komac backend, same token/fork requirements. WinGet Releaser is the more common choice, and tbh i haven't looked that deeply into this one.

Additional context

No response

Code of Conduct

I agree to follow this project's Code of Conduct

Duplicate Issue Check

I've checked for similar issues and didn't find anything

Wiki/FAQ Check

I've checked the Wiki for a solution and didn't find a solution

Lingua principale
Python
Stelle
1.2k
Fork
155
Merge medio
7h 23m
PR unite (30g)
62

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di RimSort/RimSort

Tutte le issue di RimSort/RimSort

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.