Integrate deployment E2E tests into CI workflow#15468
Open
mitchdenny wants to merge 11 commits intomainfrom
Open
Integrate deployment E2E tests into CI workflow#15468mitchdenny wants to merge 11 commits intomainfrom
mitchdenny wants to merge 11 commits intomainfrom
Conversation
Member
Author
|
/deployment-test |
Contributor
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 15468Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 15468" |
Contributor
|
🚀 Deployment tests starting on PR #15468... This will deploy to real Azure infrastructure. Results will be posted here when complete. |
Contributor
There was a problem hiding this comment.
Pull request overview
This PR verifies that the /deployment-test slash command still functions after the repository moved from dotnet/aspire to microsoft/aspire by making a whitespace-only change.
Changes:
- Add a trailing newline at the end of
README.md.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The /deployment-test slash command was checking membership in the dotnet org instead of the microsoft org after the repo move. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Create deployment-e2e-tests.yml reusable workflow with enumerate/build/deploy-test matrix fan-out - Add deployment_tests job to ci.yml with fork detection and skip logic - Refactor deployment-tests.yml to call reusable workflow (keeps nightly schedule + issue creation) - Delete deployment-test-command.yml (replaced by automatic CI integration) - Extend cli-e2e-recording-comment.yml to post deployment test recordings as separate PR comment - Migrate AcaManagedRedisDeploymentTests from builder to Hex1bAutomator pattern - Remove dead builder extension methods from DeploymentE2ETestHelpers Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The reusable workflow needs id-token:write for OIDC Azure auth, which must be explicitly granted by the caller job. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…flow Reusable workflows called via workflow_call don't automatically receive the caller's secrets. The deployment-testing environment secrets (AZURE_DEPLOYMENT_TEST_CLIENT_ID, TENANT_ID, SUBSCRIPTION_ID) need secrets:inherit to be accessible. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The enumerate-tests action uploads logs-enumerate-tests-Linux, but both the main test setup and deployment test enumerate jobs use it in the same workflow run. Add artifactSuffix input to disambiguate artifact names. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The Semver 3.0.0 package has a transitive dependency on Microsoft.Extensions.Primitives 5.0.1 which has an expired certificate, breaking aspire restore on CI. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The GA CLI's 'aspire add' may auto-select the version instead of showing the '(based on NuGet.config)' version picker prompt. Use WaitUntilAsync with dual-condition to handle both paths. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
On CI runners with the 'n' Node.js version manager installed, sending 'n' unconditionally as a bash command launches the interactive version selector instead of being 'command not found'. This consumes subsequent terminal input and breaks the aspire add command. Only send 'n' + Enter when the agent init prompt was actually detected. When no agent init prompt appears (e.g., GA CLI), the success prompt is already present and no interaction is needed. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Deployment tests can fail due to transient Azure infrastructure issues outside the team's control. These failures should not block PRs. The results job now checks only prepare_for_ci and tests for failures. Deployment test results are still reported via an informational warning annotation but do not cause the CI gate to fail. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
|
🎬 CLI E2E Test Recordings — 49 recordings uploaded (commit View recordings
📹 Recordings uploaded automatically from CI run #23526260908 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Integrates deployment E2E tests into the main CI workflow so they run automatically on every non-fork PR. Also migrates the last remaining old-pattern test to the Hex1bAutomator approach, and adds deployment test recording comments.
Changes
CI Integration:
deployment-e2e-tests.ymlreusable workflow with enumerate → build → deploy-test matrix fan-out usingenvironment: deployment-testingfor OIDC Azure authci.ymlwithdeployment_testsjob that calls the reusable workflow, with fork detection (head.repo.full_name == repository) and skip logic (docs-only changes)resultsjob to include deployment test results in the aggregation gatedeployment-tests.ymlto call the reusable workflow (keeps nightly schedule +create_issue_on_failure)deployment-test-command.yml— the/deployment-testslash command is replaced by automatic CI integrationRecording Comments:
cli-e2e-recording-comment.ymlwith a second job (add-deployment-recording-comment) that posts deployment test recordings as a separate PR comment with<!-- deployment-e2e-recordings -->markerTest Migration:
AcaManagedRedisDeploymentTestsfromHex1bTerminalInputSequenceBuilder(fluent builder) toHex1bTerminalAutomator(async/await)DeploymentE2ETestHelpers.csEnvironment Requirement
deployment-testingGitHub environment must allow deployment from PR branches (not justmain/release/**). Verify environment protection rules before merging.Testing