Skip to content

Use staging feed for dotnet tool smoke tests#16655

Closed
radical wants to merge 5 commits into
microsoft:mainfrom
radical:ankj/fix-staging-dotnet-tool-source
Closed

Use staging feed for dotnet tool smoke tests#16655
radical wants to merge 5 commits into
microsoft:mainfrom
radical:ankj/fix-staging-dotnet-tool-source

Conversation

@radical

@radical radical commented May 1, 2026

Copy link
Copy Markdown
Member

Description

Updates CLI E2E dotnet tool staging installs so ASPIRE_E2E_QUALITY=staging resolves the staging install-script CLI first, derives the matching SHA-specific darc-pub-microsoft-aspire-* NuGet feed, and installs Aspire.Cli from 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

  • Is this feature complete?
    • Yes. Ready to ship.
    • No. Follow-up changes expected.
  • Are you including unit tests for the changes and scenario tests if relevant?
    • Yes
    • No
  • Did you add public API?
    • Yes
      • If yes, did you have an API Review for it?
        • Yes
        • No
      • Did you add <remarks /> and <code /> elements on your triple slash comments?
        • Yes
        • No
    • No
  • Does the change make any security assumptions or guarantees?
    • Yes
      • If yes, have you done a threat model and had a security review?
        • Yes
        • No
    • No
  • Does the change require an update in our Aspire docs?

@github-actions

github-actions Bot commented May 1, 2026

Copy link
Copy Markdown
Contributor

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 16655

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 16655"

radical and others added 3 commits May 1, 2026 16:04
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>
@radical radical force-pushed the ankj/fix-staging-dotnet-tool-source branch from 5066607 to ccd3f14 Compare May 1, 2026 20:22
@radical radical marked this pull request as ready for review May 1, 2026 20:48
@radical radical requested a review from eerhardt as a code owner May 1, 2026 20:48
@radical radical requested review from Copilot and davidfowl May 1, 2026 20:48
@radical radical requested a review from joperezr May 1, 2026 20:48
@radical

radical commented May 1, 2026

Copy link
Copy Markdown
Member Author

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 --version output.
  • 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.

Comment thread tests/Aspire.Cli.EndToEnd.Tests/SmokeTests.cs Outdated
radical and others added 2 commits May 1, 2026 18:14
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@radical

radical commented Jun 8, 2026

Copy link
Copy Markdown
Member Author

Closing in favor of #17532 .

@radical radical closed this Jun 8, 2026
@microsoft-github-policy-service microsoft-github-policy-service Bot added this to the 13.5 milestone Jun 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants