chore(release): auto-sync winget-pkgs fork before submit#278
Merged
Conversation
Today's v2026.05.02 release exposed a new failure mode: wingetcreate exits with "The forked repository could not be synced with the upstream commits" when our fork of microsoft/winget-pkgs has drifted from master. Manifest generation succeeded; only the PR submission failed. Manual recovery is `gh repo sync thewrz/winget-pkgs`. Add it as a step in the update-winget job so the fork self-heals on every release instead of needing manual intervention.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Today's v2026.05.02 release exposed a new winget submission failure mode not covered by #277: fork drift.
wingetcreate update --submitaborted with:Manifest generation itself succeeded (`Manifest validation succeeded: True`); only the PR-submission step failed because GitHub's auto-sync API couldn't fast-forward our `thewrz/winget-pkgs` fork onto upstream master. Manual fix today was a one-liner: `gh repo sync thewrz/winget-pkgs`.
This PR adds that sync as a step in the `update-winget` job so the fork self-heals on every release.
Why not in #277
This blocker was invisible until we actually attempted a release; the audit only had visibility into past blockers that left a trail (closed winget-pkgs PRs, fix commits). Fork drift had been silently accumulating between Apr 8 and May 2.
Diff
7 lines added to `.github/workflows/release.yml` between the existing "Wait for release asset" and "Update winget package" steps. Uses `secrets.WINGET_PAT` (already present, no new secret).
Test plan