Repository navigation
fix(ci): avoid full test runs for shared test fixture changes - #21810
Ankit Jain (radical) wants to merge 6 commits into
Conversation
A template endpoint fixture change selected every PR test and job because eng/github-ci/test-trigger-map.yml grouped narrowly consumed shared inputs under ALL, overriding the graph's precise template-test attribution. Route shared fixtures and archive-support files to their actual consumers. Retain runtime-only and deleted-file dependencies, use graph attribution for imported inputs, and keep Podman outside regular PR selection. Document the conditional test-archive inputs and verify archive consumers through evaluated project metadata. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
The existing deleted-certificate test did not cover Hosting's direct runtime dependency on testCert.pfx. Exercise the real map without graph attribution for testCert.pfx and eku.client.pfx. Assert the exact consumer sets so removing Hosting's runtime edge, adding it for client-only certificates, or selecting unrelated tests and jobs fails the test. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
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 -- 21810Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 21810" |
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
🔵 Needs a closer look
The narrowed CI routes depend on evaluated ProjectGraph ownership, but the focused selector suite could not complete, leaving passing tests and representative full-graph selection traces to be confirmed before merging.
No open issues 🎉
What changed in this PR
Narrows Aspire’s CI test selection for shared test inputs, replacing broad full-matrix triggers with routes to affected consumers while keeping Podman scenarios outside regular PR targets.
Changes:
- Adds targeted routing for template fixtures, SDK provisioning, certificates, test-archive support, and CLI E2E Docker images.
- Adds regression coverage for consumer selection, deleted inputs, and Podman exclusion.
- Documents why archive support and runtime-only inputs need explicit routes.
The PR reports that focused selector tests were blocked by package-download failures; git diff --check passed.
| File | Description |
|---|---|
tests/Infrastructure.Tests/TestTriggerMap/TestTriggerMapTests.cs |
Adds regression tests for precise shared-input routing and exclusions. |
eng/github-ci/test-trigger-map.yml |
Replaces broad shared-fixture triggers with consumer-specific rules. |
docs/ci/test-trigger-map.md |
Explains explicit shared-input routes and updates full-matrix trigger examples. |
Review effort: Balanced
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Tests selector1 / 101 PR test projects · 0 PR jobs, from 2 changed files. Selected PR test projects (1 / 101)
Selected PR jobs (0)none How these were chosen — grouped by what changed📄 🧪 Job reasonsnone Selection computed for commit |
There was a problem hiding this comment.
🔵 Needs a closer look
The current-head focused selector suite did not complete, and narrowed CI routing remains unverified against the evaluated MSBuild graph and CI selection traces.
No open issues 🎉
1 resolved since last review
Review effort: Balanced

Description
Narrows CI test selection for shared test inputs so changes run the affected test consumers instead of unnecessarily triggering the full test matrix. This replaces #21495, merges the latest
main, and adds regression coverage for CLI E2E Docker image routing and the Podman image's intentional exclusion from regular PR targets.The focused selector test suite could not complete because package downloads from the approved feeds repeatedly ended prematurely.
git diff --checkpassed.Fixes # (issue)
Checklist
<remarks />and<code />elements on your triple slash comments?