Use staging feed for dotnet tool smoke tests#16655
Conversation
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 16655Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 16655" |
Resolve the staging CLI with the install script first, derive its SHA-specific feed, and install the dotnet tool from that stable feed without --prerelease. Also set the global CLI channel to staging so the dotnet tool path matches install-script behavior. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep validating that the generated TypeScript AppHost uses a stable SDK version, but allow the config channel to be staging when the installed CLI strategy is staging. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Move the version consistency check into a reusable PowerShell script and run it after daily smoke tests so mismatched install routes fail the workflow before artifacts are uploaded. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
5066607 to
ccd3f14
Compare
|
Validation run for staging - https://github.com/microsoft/aspire/actions/runs/25228048774 |
There was a problem hiding this comment.
Pull request overview
This PR updates Aspire CLI E2E “dotnet tool” staging installs so that ASPIRE_E2E_QUALITY=staging resolves the staging install-script build first, derives the matching SHA-scoped darc-pub-microsoft-aspire-<sha8> feed, and installs Aspire.Cli from that staging feed (instead of drifting to the latest prerelease). It also adds an automated check in the daily smoke workflow to ensure all smoke routes installed the same CLI version.
Changes:
- Add a staging-specific dotnet tool install path that derives a SHA-specific staging NuGet feed from the staging CLI
--versionoutput. - Add
verify-daily-smoke-cli-versions.ps1+ infrastructure tests to validate version-record consistency and report failures via step summary. - Update the daily smoke GitHub Actions workflow to run the version-consistency verification step after tests.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tests/Shared/CliInstallStrategy.cs | Adds UsesStagingDotnetToolFeed and generates a staging-feed-aware dotnet tool install command for Docker scenarios. |
| tests/Infrastructure.Tests/PowerShellScripts/VerifyDailySmokeCliVersionsTests.cs | Adds coverage for the new PowerShell verification script (success + multiple failure modes). |
| tests/Infrastructure.Tests/Infrastructure.Tests.csproj | Links MSBuildUtils so Infrastructure.Tests can locate repo-root scripts. |
| tests/Aspire.Cli.EndToEnd.Tests/SmokeTests.cs | Adjusts TypeScript AppHost config assertions to vary expected channel based on install quality (note: currently inconsistent with the invoked --channel stable). |
| tests/Aspire.Cli.EndToEnd.Tests/Helpers/CliInstallStrategyTests.cs | Updates expectations for staging dotnet tool behavior and adds coverage for the new staging install command. |
| eng/scripts/verify-daily-smoke-cli-versions.ps1 | New script to ensure all daily smoke install routes used the same Aspire CLI version and optionally write a step summary on failure. |
| .github/workflows/tests-daily-smoke.yml | Runs the new version-consistency script after smoke tests complete. |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Closing in favor of #17532 . |
Description
Updates CLI E2E dotnet tool staging installs so
ASPIRE_E2E_QUALITY=stagingresolves the staging install-script CLI first, derives the matching SHA-specificdarc-pub-microsoft-aspire-*NuGet feed, and installsAspire.Clifrom that stable staging source instead of using the latest prerelease package.This keeps dotnet tool smoke tests aligned with install-script staging builds such as
13.3.0+<sha>and prevents drift to a newer preview train.Fixes # (issue)
Checklist
<remarks />and<code />elements on your triple slash comments?aspire.devissue: