Skip to content

Add Aspire daily regression workflow#209

Open
danegsta wants to merge 2 commits into
mainfrom
danegsta-aspire-e2e-test-feasibility
Open

Add Aspire daily regression workflow#209
danegsta wants to merge 2 commits into
mainfrom
danegsta-aspire-e2e-test-feasibility

Conversation

@danegsta

@danegsta danegsta commented Jul 8, 2026

Copy link
Copy Markdown
Member

DCP regressions can show up only when Aspire runs a real AppHost against the DCP binary, especially around container networking and persistent resources. This adds a GitHub Actions regression gate that exercises that path against the latest Aspire daily build before DCP insertion.

The workflow builds DCP, installs the daily Aspire CLI, scaffolds a file-based AppHost from the daily channel, preserves the generated daily #:sdk directive, and appends a committed AppHost body that validates executable, session container, and persistent container resources. The AppHost reports startup and per-resource health markers, and the script fails unless every expected resource becomes healthy.

A disabled AzDO stage is updated to the same CLI-based shape, but remains unwired with condition: false pending pipeline-policy review. The local script is intended for CI and does not clean up container runtime resources it creates; GitHub-hosted runner cleanup handles that for the active workflow.

Validation:

  • Ran test/aspire/run-regression.sh locally against bin/dcp with the daily Aspire CLI; all expected resources reached healthy.

danegsta and others added 2 commits July 7, 2026 18:16
Add a GitHub Actions regression workflow that builds DCP, installs the latest daily Aspire CLI, scaffolds a file-based AppHost, and validates that a real Aspire app reaches healthy state against the local DCP binary. Keep the AzDO stage disabled for later policy review.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

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 adds an end-to-end Aspire regression gate that runs a real Aspire AppHost (executable + session/persistent containers on a shared network) orchestrated by a locally built DCP binary against the latest Aspire daily CLI, to catch DCP integration regressions (process orchestration, container creation, container networking) before a DCP build is inserted into Aspire. A new GitHub Actions workflow drives this on hosted Linux runners, and a previously-inactive AzDO stage is reshaped to the same CLI-based approach but kept disabled pending pipeline-policy review.

Changes:

  • New test/aspire/run-regression.sh harness that scaffolds an AppHost from the daily channel, preserves the scaffolded #:sdk pin, appends a committed AppHost body, runs it via DcpPublisher__CliPath, and waits for each resource to become healthy.
  • New test/aspire/apphost-body.cs scenario exercising an executable, a session container, and persistent containers with intentional mixed-case names/aliases.
  • New .github/workflows/aspire-regression.yml workflow, updated (still disabled) .azure/pipelines/aspire-test.yml stage, and CONTRIBUTING.md documentation.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
test/aspire/run-regression.sh New CI harness; scaffolds/runs the AppHost and validates resource health (minor --help output range issue).
test/aspire/apphost-body.cs New committed AppHost body defining the regression scenario resources.
.github/workflows/aspire-regression.yml New GitHub Actions workflow; triggers include an undocumented pull_request gate.
.azure/pipelines/aspire-test.yml Reworks the disabled AzDO stage to the CLI-based flow; artifact name/path verified against common-build.yml.
CONTRIBUTING.md Documents the new regression test; trigger list omits PR runs present in the workflow.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +20 to +22
pull_request:
branches:
- main
shift
;;
-h | --help)
sed -n '2,25p' "${BASH_SOURCE[0]}"
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