Skip to content

[automated] test: Run platform-specific infrastructure tests in CI - #21814

Draft
Ankit Jain (radical) wants to merge 1 commit into
microsoft:mainfrom
radical:platform-specific-infrastructure-ci
Draft

Ankit Jain (radical) wants to merge 1 commit into
microsoft:mainfrom
radical:platform-specific-infrastructure-ci

Conversation

@radical

@radical Ankit Jain (radical) commented Nov 5, 2026 •

Copy link
Copy Markdown
Member

Description

Run existing Windows-only and macOS-only infrastructure tests in regular GitHub CI.
Checking platform coverage revealed that Infrastructure.Tests disabled both
OS 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

  • Enable the existing Windows/macOS lanes. Use ci-platform traits to keep unmarked tests on Linux and run only matching platform cases elsewhere.
  • Check required python/ditto tools and reject empty TRX results, so missing tools or zero-test exits cannot produce a false green.
  • Replace the macOS transport test's runtime OS skip with [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:

Hosted lane Result
Linux 2,050 unmarked cases passed; no marked platform cases
Windows Exactly seven Python cases passed
macOS Exactly one signing-transport case passed
  • 507 targeted local tests passed, plus the quarantine/outerloop PR smoke runs on all three OSes.
  • An intentionally empty selection correctly failed the TRX gate, despite MTP returning success.
  • Runtime boundary probes confirmed specialized/reproduction filters are not narrowed by the regular-CI opt-in.
Local commands: focused macOS case and workflow validation passed
GITHUB_ACTIONS=true RunPlatformInfrastructureTests=true MSBUILDTERMINALLOGGER=false dotnet test --project tests/Infrastructure.Tests/Infrastructure.Tests.csproj --no-launch-profile -- --filter-not-trait 'quarantined=true' --filter-not-trait 'outerloop=true' --report-trx --results-directory artifacts/platform-ci-validation/macos-explicit
actionlint -shellcheck= .github/workflows/tests.yml .github/workflows/run-tests.yml

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

  • Is this feature complete?
    • Yes. Ready to ship.
    • No. Follow-up changes expected.
  • Are you including unit tests for the changes and scenario tests if relevant?
    • Yes
    • No
  • Did you add public API?
    • Yes
      • If yes, did you have an API Review for it?
        • Yes
        • No
      • Did you add <remarks /> and <code /> elements on your triple slash comments?
        • Yes
        • No
    • No
  • Does the change make any security assumptions or guarantees?
    • Yes
      • If yes, have you done a threat model and had a security review?
        • Yes
        • No
    • No

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>
@github-actions

github-actions Bot commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 21814

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 21814"

@github-actions github-actions Bot added the area-engineering-systems infrastructure helix infra engineering repo stuff label Nov 5, 2026
@aspire-repo-bot
aspire-repo-bot Bot requested a balanced review from Copilot November 5, 2026 18:57

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.

🔵 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

@github-actions

github-actions Bot commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-engineering-systems infrastructure helix infra engineering repo stuff

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[automated] Platform-specific infrastructure tests have no matching GitHub CI lanes

2 participants