[release/13.5] fix(release): Restore WinGet publication with .NET 9 wingetcreate - #19509
Conversation
WinGet publication fails before submit because the latest standalone wingetcreate targets .NET 9 and is framework-dependent, while the release agent image has no compatible runtime: wingetcreate.exe : You must install or update .NET to run this application. Install the .NET 9 runtime in the gated submission path before launching wingetcreate. Exercise the latest executable with `info` in normal WinGet preparation builds so future runtime incompatibilities fail before release. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
The WinGet setup steps were gated by live production submission, so dry runs skipped both the .NET 9 runtime installation and the wingetcreate startup check. That prevented a safe branch run from proving that the latest wingetcreate executable could launch. Run UseDotNet and wingetcreate info whenever the WinGet job is selected, while retaining the live-only gate on URL validation and submission. This validates runtime compatibility without opening an upstream PR. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 19509Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 19509" |
There was a problem hiding this comment.
Pull request overview
Restores WinGet publishing by installing the .NET 9 runtime required by wingetcreate and validating startup before submission.
Changes:
- Installs the .NET 9 runtime in preparation and publication jobs.
- Runs
wingetcreate infoas an early compatibility check. - Adds regression tests and documents the validation flow.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
tests/Infrastructure.Tests/Pipelines/ReleasePublishNugetPipelineTests.cs |
Verifies runtime installation, startup checks, and submission gates. |
eng/winget/README.md |
Documents WinGet compatibility validation. |
eng/pipelines/templates/publish-winget.yml |
Validates wingetcreate before conditionally submitting. |
eng/pipelines/templates/prepare-winget-manifest.yml |
Adds routine wingetcreate startup verification. |
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
|
Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt. |
|
Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt. |
|
Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt. |
6ee87f7
into
microsoft:release/13.5
|
/backport to main |
|
Started backporting to |
…ingetcreate (#19509) (#19551) * fix(release): install .NET 9 for wingetcreate WinGet publication fails before submit because the latest standalone wingetcreate targets .NET 9 and is framework-dependent, while the release agent image has no compatible runtime: wingetcreate.exe : You must install or update .NET to run this application. Install the .NET 9 runtime in the gated submission path before launching wingetcreate. Exercise the latest executable with `info` in normal WinGet preparation builds so future runtime incompatibilities fail before release. * fix(release): exercise wingetcreate in dry runs The WinGet setup steps were gated by live production submission, so dry runs skipped both the .NET 9 runtime installation and the wingetcreate startup check. That prevented a safe branch run from proving that the latest wingetcreate executable could launch. Run UseDotNet and wingetcreate info whenever the WinGet job is selected, while retaining the live-only gate on URL validation and submission. This validates runtime compatibility without opening an upstream PR. --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Description
Aspire 13.5 WinGet publication failed before opening the upstream PR:
The latest framework-dependent
wingetcreatetargets .NET 9, but the release agent did not have a compatible runtime. This installs the .NET 9 runtime before launchingwingetcreateand runswingetcreate infoin regular preparation and selected release jobs so future runtime incompatibilities fail before a live submission.The actual
wingetcreate submitstep remains restricted to non-dry-run production-branch runs.Validation:
ReleasePublishNugetPipelineTests: 32 passed, 0 failed.wingetcreate v1.12.13.0 info; submission remained skipped.Fixes # (issue)
Checklist
<remarks />and<code />elements on your triple slash comments?