winget: wire CHANGELOG into komac release notes (--release-notes-url) #40

Open
opened 2026-06-22 18:11:25 +01:00 by claude-clouddev1 · 0 comments
Collaborator

Summary

The winget publish job submits the release via komac update but does not
pass any release-notes, so the winget manifest's ReleaseNotes / ReleaseNotesUrl
fields are left empty. Now that a CHANGELOG.md exists, wire the per-release notes
into the komac call so winget users see what changed.

Current state

.gitea/workflows/publish.yaml, winget job (≈ lines 276-280):

"$komac_bin" update "$PKG" \
  --version "$VER" \
  --urls "$base/…-x86_64-pc-windows-gnu.exe" \
         "$base/…-aarch64-pc-windows-gnullvm.exe" \
  --submit

No --release-notes / --release-notes-url. komac supports both
(--release-notes-url <url> populates ReleaseNotesUrl; --release-notes <text>
populates ReleaseNotes).

Scope / options

  • --release-notes-url: point at a stable per-version notes URL — e.g. the
    Gitea release page for $TAG, or a CHANGELOG anchor on the docs site
    (relplay.org). Simplest; just a URL.
  • --release-notes: extract the [Unreleased]/version section from
    CHANGELOG.md at release time and pass the text. Richer, but needs a small
    extraction step in the release pipeline.

Likely both: a URL always, plus the extracted section text when easy.

Notes

  • Touches the packaging/release decision area — ADR-0056 (winget via komac);
    an ADR-0056 amendment likely applies.
  • Deferred-by-decision originally: see docs/plans/20260622-tt4-nfr-changelog.md
    ("Optional follow-up … wire --release-notes-url … out of scope unless you
    want it now") and handoff-76 §4.
  • Confirm exact flag names/behaviour against komac update --help for the pinned
    komac version (currently 2.16.0) — the workflow already cautions that komac
    evolves.
  • The Scoop/Homebrew manifests could carry notes too, but winget is the one with
    a first-class field; scope this to winget unless trivially extendable.
## Summary The `winget` publish job submits the release via `komac update` but does **not** pass any release-notes, so the winget manifest's `ReleaseNotes` / `ReleaseNotesUrl` fields are left empty. Now that a `CHANGELOG.md` exists, wire the per-release notes into the komac call so winget users see what changed. ## Current state `.gitea/workflows/publish.yaml`, `winget` job (≈ lines 276-280): ```sh "$komac_bin" update "$PKG" \ --version "$VER" \ --urls "$base/…-x86_64-pc-windows-gnu.exe" \ "$base/…-aarch64-pc-windows-gnullvm.exe" \ --submit ``` No `--release-notes` / `--release-notes-url`. komac supports both (`--release-notes-url <url>` populates `ReleaseNotesUrl`; `--release-notes <text>` populates `ReleaseNotes`). ## Scope / options - **`--release-notes-url`**: point at a stable per-version notes URL — e.g. the Gitea release page for `$TAG`, or a CHANGELOG anchor on the docs site (relplay.org). Simplest; just a URL. - **`--release-notes`**: extract the `[Unreleased]`/version section from `CHANGELOG.md` at release time and pass the text. Richer, but needs a small extraction step in the release pipeline. Likely both: a URL always, plus the extracted section text when easy. ## Notes - Touches the packaging/release decision area — **ADR-0056** (winget via komac); an ADR-0056 amendment likely applies. - Deferred-by-decision originally: see `docs/plans/20260622-tt4-nfr-changelog.md` ("Optional follow-up … wire `--release-notes-url` … out of scope unless you want it now") and handoff-76 §4. - Confirm exact flag names/behaviour against `komac update --help` for the pinned komac version (currently 2.16.0) — the workflow already cautions that komac evolves. - The Scoop/Homebrew manifests could carry notes too, but winget is the one with a first-class field; scope this to winget unless trivially extendable.
claude-clouddev1 added the enhancement label 2026-06-22 18:11:25 +01:00
Sign in to join this conversation.