Repository navigation
[automated] test: Run platform-specific infrastructure tests in CI - #21814
Ankit Jain (radical) wants to merge 1 commit into
Conversation
Infrastructure.Tests disables Windows and macOS matrix entries even though it contains platform-only tests. Unsupported-platform and missing-tool cases are filtered out, so a green Linux run conceals the coverage gap. Enable the existing Windows and macOS matrix entries and select only their platform-specific cases. Run unmarked cases on Linux. An explicit opt-in from the regular matrix preserves local, quarantine, outerloop, and reproduction filtering. Check required tools and reuse the TRX evidence validator to reject empty focused runs. Use a declarative platform restriction for the macOS transport test and document platform filtering and supported-platform scheduling. Fixes microsoft#21812 Co-authored-by: Copilot App <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 -- 21814Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 21814" |
There was a problem hiding this comment.
🔵 Needs a closer look
Hosted-platform verification remains incomplete: the Windows infrastructure job is still running, and TRX evidence is needed for all seven Windows cases, the macOS transport case, and the Linux exclusion.
No open issues 🎉
What changed in this PR
Addresses #21812 by adding regular Windows and macOS CI coverage for platform-specific infrastructure tests, while keeping unmarked tests on Linux.
Changes:
- Enables Windows and macOS matrix entries, selecting seven Windows cases and one macOS signing-transport case through platform traits.
- Adds opt-in filtering, required-tool checks, and nonempty test-result validation without changing local or specialized-run filters.
- Documents platform scheduling and declarative test restrictions.
Hosted CI execution remains unverified, as noted in the PR description.
| File | Description |
|---|---|
tests/Infrastructure.Tests/WorkflowScripts/PrDocsCheckWorkflowTests.cs |
Marks the Windows Python case for focused CI execution. |
tests/Infrastructure.Tests/WorkflowScripts/ExtensionReleaseWorkflowTests.cs |
Marks six Windows cases for focused CI execution. |
tests/Infrastructure.Tests/Pipelines/TrayBundleTests.cs |
Adds the macOS trait and replaces the runtime platform skip with a declarative restriction. |
tests/Infrastructure.Tests/Infrastructure.Tests.csproj |
Enables Windows/macOS execution and adds opt-in platform filters. |
docs/ci/TestingOnCI.md |
Documents platform coverage, prerequisites, and execution evidence. |
.github/workflows/tests.yml |
Opts regular infrastructure jobs into platform filtering. |
.github/workflows/run-tests.yml |
Adds the opt-in input, tool checks, and focused-run result validation. |
.github/instructions/test-review-guidelines.instructions.md |
Clarifies platform restrictions and supported-platform CI scheduling. |
Review effort: Balanced
|
Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt. |
Description
Run existing Windows-only and macOS-only infrastructure tests in regular GitHub CI.
Checking platform coverage revealed that
Infrastructure.Testsdisabled bothOS matrix entries. Those cases were filtered out on Linux, so green CI left
seven Windows Python tests and one macOS signing-transport test unexecuted.
Fix
ci-platformtraits to keep unmarked tests on Linux and run only matching platform cases elsewhere.python/dittotools and reject empty TRX results, so missing tools or zero-test exits cannot produce a false green.[PlatformSpecific]. Update guidance to distinguish platform filtering from CI scheduling.The focused lanes add two runner/build setups, not two copies of the full
suite. Filtering is explicitly enabled only by regular CI, preserving local,
quarantine, outerloop, and reproduction selection.
Validation
Full CI passed.
Downloaded TRX confirms the intended tests actually ran:
Local commands: focused macOS case and workflow validation passed
The test command passed exactly one case with zero skips. Workflow validation
passed with ShellCheck disabled for existing warnings in unchanged steps.
Fixes #21812
Checklist
<remarks />and<code />elements on your triple slash comments?