Skip to content

Exclude Aspire.EndToEnd.Tests from macOS CI and guard tests with Docker feature requirement#15501

Merged
radical merged 1 commit intomainfrom
copilot/add-docker-requirements-to-tests
Mar 24, 2026
Merged

Exclude Aspire.EndToEnd.Tests from macOS CI and guard tests with Docker feature requirement#15501
radical merged 1 commit intomainfrom
copilot/add-docker-requirements-to-tests

Conversation

Copy link
Contributor

Copilot AI commented Mar 23, 2026

Description

End-to-end tests in Aspire.EndToEnd.Tests require Docker, which is unavailable on macOS CI runners. This adds both a project-level CI exclusion and per-test guards.

Changes:

  • Aspire.EndToEnd.Tests.csproj: Added <RunOnGithubActionsMacOS>false</RunOnGithubActionsMacOS> (alongside existing Windows exclusion); updated comment to reflect both platforms
  • IntegrationServicesTests.cs: Added [RequiresFeature(TestFeature.Docker)] to VerifyComponentWorks and VerifyHealthyOnIntegrationServiceA — ensures tests are skipped at runtime on any environment without Docker support

Fixes #15500 .

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
  • Does the change require an update in our Aspire docs?

@radical radical marked this pull request as ready for review March 23, 2026 20:15
Copilot AI review requested due to automatic review settings March 23, 2026 20:15
@github-actions
Copy link
Contributor

github-actions bot commented Mar 23, 2026

🚀 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 -- 15501

Or

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

@radical radical added the area-engineering-systems infrastructure helix infra engineering repo stuff label Mar 23, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Aspire end-to-end test project to avoid running Docker-dependent tests on macOS GitHub Actions runners (where Docker isn’t available), while still allowing Docker gating via the repo’s RequiresFeature mechanism.

Changes:

  • Excludes Aspire.EndToEnd.Tests from macOS GitHub Actions runs via MSBuild property.
  • Adds RequiresFeature(TestFeature.Docker) guards to Docker-dependent E2E tests in IntegrationServicesTests.

Reviewed changes

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

File Description
tests/Aspire.EndToEnd.Tests/IntegrationServicesTests.cs Adds Docker feature requirement attributes to relevant E2E tests.
tests/Aspire.EndToEnd.Tests/Aspire.EndToEnd.Tests.csproj Disables running this test project on GitHub Actions macOS runners; updates related comment.

Comment on lines 22 to 25
[Theory]
[OuterloopTest("EndToEnd tests require Docker and are slow")]
[RequiresFeature(TestFeature.Docker)]
[Trait("scenario", "basicservices")]
Copy link

Copilot AI Mar 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider applying RequiresFeature(TestFeature.Docker) at the test class level instead of per-test. That avoids duplication and prevents new tests added to this class from accidentally running on unsupported CI environments if the attribute is forgotten.

Copilot uses AI. Check for mistakes.
Comment on lines +7 to +9
<!-- Only run on Linux; no docker support on Windows/Mac yet -->
<RunOnGithubActionsWindows>false</RunOnGithubActionsWindows>
<RunOnGithubActionsMacOS>false</RunOnGithubActionsMacOS>
Copy link

Copilot AI Mar 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment says "no docker support on Windows/Mac yet", but this project property is specifically about where tests run in GitHub Actions. To avoid implying Docker is unsupported on macOS/Windows in general (e.g., local dev), consider wording this as "no Docker support on GitHub Actions Windows/macOS" or "no Docker support on CI Windows/macOS".

Copilot uses AI. Check for mistakes.
@radical radical requested review from adamint and mitchdenny March 23, 2026 20:22
@radical radical enabled auto-merge (squash) March 23, 2026 20:25
@radical radical closed this Mar 24, 2026
auto-merge was automatically disabled March 24, 2026 16:35

Pull request was closed

@radical radical reopened this Mar 24, 2026
@radical radical enabled auto-merge (squash) March 24, 2026 16:57
@radical radical merged commit ed6ede9 into main Mar 24, 2026
503 of 506 checks passed
@radical radical deleted the copilot/add-docker-requirements-to-tests branch March 24, 2026 16:58
@github-actions
Copy link
Contributor

🎬 CLI E2E Test Recordings — 49 recordings uploaded (commit 6e5bc41)

View recordings
Test Recording
AddPackageInteractiveWhileAppHostRunningDetached ▶️ View Recording
AddPackageWhileAppHostRunningDetached ▶️ View Recording
AgentCommands_AllHelpOutputs_AreCorrect ▶️ View Recording
AgentInitCommand_DefaultSelection_InstallsSkillOnly ▶️ View Recording
AgentInitCommand_MigratesDeprecatedConfig ▶️ View Recording
AspireAddPackageVersionToDirectoryPackagesProps ▶️ View Recording
AspireUpdateRemovesAppHostPackageVersionFromDirectoryPackagesProps ▶️ View Recording
Banner_DisplayedOnFirstRun ▶️ View Recording
Banner_DisplayedWithExplicitFlag ▶️ View Recording
CertificatesClean_RemovesCertificates ▶️ View Recording
CertificatesTrust_WithNoCert_CreatesAndTrustsCertificate ▶️ View Recording
CertificatesTrust_WithUntrustedCert_TrustsCertificate ▶️ View Recording
ConfigSetGet_CreatesNestedJsonFormat ▶️ View Recording
CreateAndRunAspireStarterProject ▶️ View Recording
CreateAndRunAspireStarterProjectWithBundle ▶️ View Recording
CreateAndRunEmptyAppHostProject ▶️ View Recording
CreateAndRunJsReactProject ▶️ View Recording
CreateAndRunPythonReactProject ▶️ View Recording
CreateAndRunTypeScriptEmptyAppHostProject ▶️ View Recording
CreateAndRunTypeScriptStarterProject ▶️ View Recording
CreateStartAndStopAspireProject ▶️ View Recording
CreateTypeScriptAppHostWithViteApp ▶️ View Recording
DescribeCommandResolvesReplicaNames ▶️ View Recording
DescribeCommandShowsRunningResources ▶️ View Recording
DetachFormatJsonProducesValidJson ▶️ View Recording
DoctorCommand_DetectsDeprecatedAgentConfig ▶️ View Recording
DoctorCommand_WithSslCertDir_ShowsTrusted ▶️ View Recording
DoctorCommand_WithoutSslCertDir_ShowsPartiallyTrusted ▶️ View Recording
GlobalMigration_HandlesCommentsAndTrailingCommas ▶️ View Recording
GlobalMigration_HandlesMalformedLegacyJson ▶️ View Recording
GlobalMigration_PreservesAllValueTypes ▶️ View Recording
GlobalMigration_SkipsWhenNewConfigExists ▶️ View Recording
GlobalSettings_MigratedFromLegacyFormat ▶️ View Recording
InvalidAppHostPathWithComments_IsHealedOnRun ▶️ View Recording
LogsCommandShowsResourceLogs ▶️ View Recording
PsCommandListsRunningAppHost ▶️ View Recording
PsFormatJsonOutputsOnlyJsonToStdout ▶️ View Recording
PublishWithDockerComposeServiceCallbackSucceeds ▶️ View Recording
RestoreGeneratesSdkFiles ▶️ View Recording
RunWithMissingAwaitShowsHelpfulError ▶️ View Recording
SecretCrudOnDotNetAppHost ▶️ View Recording
SecretCrudOnTypeScriptAppHost ▶️ View Recording
StagingChannel_ConfigureAndVerifySettings_ThenSwitchChannels ▶️ View Recording
StopAllAppHostsFromAppHostDirectory ▶️ View Recording
StopAllAppHostsFromUnrelatedDirectory ▶️ View Recording
StopNonInteractiveMultipleAppHostsShowsError ▶️ View Recording
StopNonInteractiveSingleAppHost ▶️ View Recording
StopWithNoRunningAppHostExitsSuccessfully ▶️ View Recording
TypeScriptAppHostWithProjectReferenceIntegration ▶️ View Recording

📹 Recordings uploaded automatically from CI run #23500902944

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.

[CI] Disable EndToEnd tests on macOS for Outerloop

4 participants