Repository navigation
[release/17.0] Fix self-update channel persistence test - #22196
Jose Perez Rodriguez (joperezr) merged 1 commit into
Conversation
Verify persisted install identity directly instead of expecting an implicit C# project update to switch channels. Preserve same-version self-update coverage. 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 -- 22196Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 22196" |
Tests selector1 / 101 PR test projects · 0 PR jobs, from 1 changed file. Selected PR test projects (1 / 101)
Selected PR jobs (0)none How these were chosen — grouped by what changed🧪 Job reasonsnone Selection computed for commit |
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues remain in the test-only update to self-update identity coverage.
No open issues 🎉
What changed in this PR
Updates the CLI self-update end-to-end test to verify persisted install identity directly, replacing a project-update expectation invalidated by #19763. No product behavior changes.
Changes:
- Removes AppHost scaffolding and the implicit C# project-update assertion.
- Verifies that self-update persists
staging, preserves source, package override, and unknown metadata, and removes stale version and commit fields. - Clears identity environment overrides and checks the relaunched CLI’s effective staging identity, including same-version replacements.
| File | Description |
|---|---|
tests/Aspire.Cli.EndToEnd.Tests/SelfUpdateChannelPersistenceTests.cs |
Refocuses self-update coverage on sidecar persistence and relaunched CLI identity. |
Review effort: Balanced
98fe642
into
release/17.0
|
✅ No documentation update needed. excluded → base_branch_is_release, title_release_prefix (backport PR with |
Description
Fix the self-update E2E failure exposed when the shared staging download advanced from 13.6.5 to 17.0.0. The test expected an implicit C# project update to write
channel: staging, but #19763 intentionally made unqualified C# updates preserve native NuGet policy and the project's existing channel. The self-update itself succeeds.Test the install identity contract directly instead:
stable, then self-update explicitly tostaging.staging, preserves the install source, package override, and an unknown field, and removes the old binary's version and commit.Remove the unrelated AppHost scaffolding and project-update assertion. A same-version replacement is valid: channel persistence must work even when the downloaded executable has exactly the same version and commit. No product behavior changes or test quarantine.
The post-update invocation still exercises the externally published staging CLI; the sidecar assertions cover the current-source writer independently of the downloaded binary's built-in channel.
Validation
Passed:
Result: build succeeded with zero warnings and zero errors.
Ran the exact corrected test in Linux Docker using the built test assembly:
Both install configurations passed, one test each with no skips:
ASPIRE_E2E_CLI_ARCHIVE_DIR: the existing release PR [release/17.0] Combined dashboard backports (#22125–#22132) #22186 archive,17.0.0-pr.22186.g5ef1dd77, self-updating to live staging.ASPIRE_E2E_ARCHIVE: a local hive containing the live staging binary and its matching hosting package. The recording confirms both the installed and downloaded CLI are17.0.0+54aa0979d8fb019607f95712803f108ff2da1432, while the persisted channel changes fromstabletostaging.The local Linux validation image supplied the existing installer scripts, .NET 10, Docker CLI, and jq.
Fixes # (issue)
Checklist
<remarks />and<code />elements on your triple slash comments?