Repository navigation
fix(ci): avoid full test runs for shared test fixture changes - #21495
Closed
Ankit Jain (radical) wants to merge 2 commits into
Closed
Ankit Jain (radical) wants to merge 2 commits into
Ankit Jain (radical) wants to merge 2 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>
Contributor
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 21495Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 21495" |
Ankit Jain (radical)
requested review from
Eric Erhardt (eerhardt),
Ella Hathaway (ellahathaway) and
Jose Perez Rodriguez (joperezr)
October 30, 2026 20:43
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Missing real-map selector tests for certificate dependencies and Docker/Podman inputs leave potential Hosting omissions and unintended full-matrix runs unguarded.
2 open issues
What changed in this PR
This PR narrows Aspire’s CI test selection for shared fixtures, addressing the full-suite escalation seen in #21423 while preserving runtime-only and deleted-file dependencies.
Changes:
- Replaces broad shared-input rules with consumer-specific routes and keeps Podman outerloop-only.
- Adds regression coverage for deleted fixtures and NuGet-dependent test archives.
- Documents why archive-support inputs need explicit routing.
| File | Description |
|---|---|
| tests/Infrastructure.Tests/TestTriggerMap/TestTriggerMapTests.cs | Adds deleted-input and archive-consumer routing tests. |
| eng/github-ci/test-trigger-map.yml | Narrows shared-fixture routes and excludes the outerloop-only Podman image. |
| docs/ci/test-trigger-map.md | Explains explicit archive-support and runtime-fixture dependencies. |
Review effort: Balanced
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>
4 of 14 tasks
Member
Author
|
Superseded by #21810, which uses the upstream microsoft/aspire branch and includes the main merge and added selector regression coverage. |
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.

Description
CI for #21423 selected every PR test project and job after a template endpoint fixture changed:
The project graph already identified the template consumers, but a broad shared-fixture rule escalated the selection to
ALL.Replace that rule with actual consumer routes for template data, SDK provisioning, CLI E2E images, certificates, and test-archive support. Imported template inputs use the project graph; explicit routes retain runtime-only and deleted-file dependencies. Podman remains outerloop-only.
Replaying the original changed paths now selects Templates tests and advisory EndToEnd impact, with no unrelated jobs. Documentation explains why archive-support files need explicit routes rather than treating every NuGet-consuming job as a consumer.
Validation
Passed: 349 focused selector tests, including the runtime-only Hosting certificate distinction, plus full-graph selection probes. These local checks do not establish workflow execution.
Fixes # (issue)
Checklist
<remarks />and<code />elements on your triple slash comments?