Fix for Aspire.Deployment.EndToEnd.Tests.FrontDoorDeploymentTests.DeployReactTemplateWithFrontDoor#17431
Fix for Aspire.Deployment.EndToEnd.Tests.FrontDoorDeploymentTests.DeployReactTemplateWithFrontDoor#17431mitchdenny wants to merge 1 commit into
Conversation
The test hard-coded a WaitUntilText for the legacy '(based on NuGet.config)' version-selection prompt and pressed Enter to accept the default. However when 'aspire add' resolves a package from the local bundle (the typical CI case) no version prompt is shown and the command installs directly, causing the 60-second WaitUntilText to time out. Replace the prompt-specific wait with WaitForAspireAddCompletionAsync, which already handles both the prompted and prompt-less code paths and is the same helper used by the other deployment E2E tests (e.g. the AKS cert-manager test). Fixes #17426 Co-authored-by: Copilot <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 -- 17431Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 17431" |
|
/deployment-test |
|
🚀 Deployment tests starting on PR #17431... This will deploy to real Azure infrastructure. Results will be posted here when complete. |
There was a problem hiding this comment.
Pull request overview
Replaces brittle hard-coded waits for the legacy (based on NuGet.config) version prompt in FrontDoorDeploymentTests with WaitForAspireAddCompletionAsync, which handles both prompted and prompt-less aspire add flows. This matches the pattern already used in other deployment E2E tests.
Changes:
- Remove the
IsRunningInCI-gatedWaitUntilTextAsync("(based on NuGet.config)") + EnterAsyncblocks after bothaspire addinvocations. - Call
WaitForAspireAddCompletionAsync(counter, TimeSpan.FromMinutes(3))instead. - Add a comment explaining why the helper is used.
Show a summary per file
| File | Description |
|---|---|
| tests/Aspire.Deployment.EndToEnd.Tests/FrontDoorDeploymentTests.cs | Switch both aspire add waits to WaitForAspireAddCompletionAsync to handle both prompted and prompt-less code paths. |
Copilot's findings
- Files reviewed: 1/1 changed files
- Comments generated: 0
|
❌ Deployment E2E Tests failed — 37 passed, 3 failed, 0 cancelled View test results and recordings
|
|
❓ CLI E2E Tests unknown — 96 passed, 0 failed, 5 unknown (commit View all recordings
📹 Recordings uploaded automatically from CI run #26350955664 |
Fix for
Aspire.Deployment.EndToEnd.Tests.FrontDoorDeploymentTests.DeployReactTemplateWithFrontDoorFixes #17426
Problem
The test consistently fails on every nightly Deployment E2E run with:
The 60-second
WaitUntilText("(based on NuGet.config)")after the firstaspire add Aspire.Hosting.Azure.AppContainerstimes out. The recordedterminal for the failing run shows that
aspire addinstalls the packagedirectly without any version-selection prompt:
Root Cause
When
aspire addresolves a single candidate from the local bundle (thetypical CI case), it skips the legacy "(based on NuGet.config)" version-selection prompt and installs directly. The test's hard-coded wait for that
prompt is therefore brittle.
Fix
Replace the explicit
WaitUntilTextAsync(...)+EnterAsync()pair withWaitForAspireAddCompletionAsync, which already handles both prompted andprompt-less code paths and is the same helper used by the other deployment
E2E tests (e.g. the AKS cert-manager test).
Verification
CI on this PR will run the standard build. After CI is green, the
/deployment-testcommand will be triggered to re-run the affecteddeployment E2E test against Azure and confirm the fix.