Follow-up to #15681 / #15335.
Now that PR builds stay on prerelease versions (with the new stabilization_check job exercising stable shape only in a dedicated CI lane), the bulk of Aspire test execution against stable-versioned Aspire assemblies happens in that one lane and in the eventual stabilization PR. Code paths in the CLI / acquisition layers that branch on prerelease-vs-stable (e.g. IsPrerelease, channel detection, update-check, template version pinning) historically only get coverage when stabilization is on.
Action: audit src/Aspire.Cli/ and the acquisition code (get-aspire-cli*.{sh,ps1} + their test fixtures) for branches that depend on whether a SemVer string is stable. For each, add unit/theory tests that feed in:
13.4.0 (clean stable)
13.4.0-dev.123 (Arcade dev build)
13.4.0-preview.1.123
13.4.0-pr.NNNNN.gSHA-dev.NNNNN (PR build with version suffix)
13.4.0-rc.1
so the logic is exercised against the full space of version-label shapes regardless of the build flavor the test binary happened to be packed under.
Why this matters: even with the new stabilization_check job catching pack-time NU5104 + restore-against-stable-feed smoke, version-label-sensitive logic in the CLI is still only run against the prerelease label in regular PR CI. Backfilling parameterized theories closes the gap independent of CI build flavor.
Out of scope for #15681 — that PR is already cross-cutting and adding test backfill there would balloon the diff.
Originally raised as M1 in the discussion on #15681.
Follow-up to #15681 / #15335.
Now that PR builds stay on prerelease versions (with the new
stabilization_checkjob exercising stable shape only in a dedicated CI lane), the bulk of Aspire test execution against stable-versioned Aspire assemblies happens in that one lane and in the eventual stabilization PR. Code paths in the CLI / acquisition layers that branch on prerelease-vs-stable (e.g.IsPrerelease, channel detection, update-check, template version pinning) historically only get coverage when stabilization is on.Action: audit
src/Aspire.Cli/and the acquisition code (get-aspire-cli*.{sh,ps1}+ their test fixtures) for branches that depend on whether a SemVer string is stable. For each, add unit/theory tests that feed in:13.4.0(clean stable)13.4.0-dev.123(Arcade dev build)13.4.0-preview.1.12313.4.0-pr.NNNNN.gSHA-dev.NNNNN(PR build with version suffix)13.4.0-rc.1so the logic is exercised against the full space of version-label shapes regardless of the build flavor the test binary happened to be packed under.
Why this matters: even with the new
stabilization_checkjob catching pack-time NU5104 + restore-against-stable-feed smoke, version-label-sensitive logic in the CLI is still only run against the prerelease label in regular PR CI. Backfilling parameterized theories closes the gap independent of CI build flavor.Out of scope for #15681 — that PR is already cross-cutting and adding test backfill there would balloon the diff.
Originally raised as M1 in the discussion on #15681.