Skip to content

Prevent Apple Helix stalls and skip hanging MacCatalyst test - #131765

Merged
matouskozak merged 8 commits into
mainfrom
matouskozak-disable-maccatalyst-memory-tests
Aug 6, 2026
Merged

matouskozak merged 8 commits into
mainfrom
matouskozak-disable-maccatalyst-memory-tests

Conversation

@matouskozak

@matouskozak matouskozak commented Aug 3, 2026 •

Copy link
Copy Markdown
Member

Should help with maccatalyst timeouts

Summary

Note

This pull request description was generated with GitHub Copilot.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 1e20c122-7e47-485d-956e-1828920e2ab8
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 1e20c122-7e47-485d-956e-1828920e2ab8
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 1e20c122-7e47-485d-956e-1828920e2ab8
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: f6d48135-ce36-4c74-be70-92cec287406d
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 3 pipeline(s).
13 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

@matouskozak matouskozak self-assigned this Aug 3, 2026
@matouskozak matouskozak added the os-maccatalyst MacCatalyst OS label Aug 3, 2026

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.

Pull request overview

This PR updates the Apple mobile Helix work item setup so the .NET SDK won’t attempt to generate an ASP.NET Core development HTTPS certificate during job startup (which can block execution before XHarness begins).

Changes:

  • Add a Helix pre-command for Apple mobile work items to set DOTNET_GENERATE_ASPNET_CERTIFICATE=false.
  • Add an in-file note explaining why the environment variable is being set.

@matouskozak

Copy link
Copy Markdown
Member Author

/azp run runtime-maccatalyst

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: f6d48135-ce36-4c74-be70-92cec287406d
@matouskozak
matouskozak marked this pull request as draft August 4, 2026 17:55
Copilot AI review requested due to automatic review settings August 4, 2026 17:56

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.

Pull request overview

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

Suppressed comments (1)

src/libraries/System.Memory/tests/System.Memory.Tests.csproj:8

  • This adds an maccatalyst/CoreCLR CI skip for System.Memory tests (IgnoreForCI), but the PR description/title only mention disabling ASP.NET dev-certificate generation for Apple Helix jobs. If this skip is still required after the new DOTNET_GENERATE_ASPNET_CERTIFICATE precommand, please document the tracking issue / rationale here (or in the PR description) so it’s clear why System.Memory is being disabled on that configuration; otherwise consider dropping the IgnoreForCI to avoid reducing coverage.
    <!-- The test app hangs during execution on MacCatalyst CoreCLR and exceeds the 75-minute XHarness timeout. -->
    <IgnoreForCI Condition="'$(TargetOS)' == 'maccatalyst' and '$(UseMonoRuntime)' != 'true' and '$(UseNativeAOTRuntime)' != 'true' and '$(EnableAppSandbox)' != 'true' and '$(RunSmokeTestsOnly)' != 'true'">true</IgnoreForCI>

@matouskozak

Copy link
Copy Markdown
Member Author

/azp run runtime-maccatalyst

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

@akoeplinger

Copy link
Copy Markdown
Member

if this works we could look at passing it everywhere, most (all?) test suites shouldn't need that cert

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: f6d48135-ce36-4c74-be70-92cec287406d
Copilot AI review requested due to automatic review settings August 5, 2026 07:50

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.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

Suppressed comments (3)

src/libraries/System.Memory/tests/System.Memory.Tests.csproj:7

  • The comment says this helps identify “any MacCatalyst CoreCLR test”, but this setting only applies to the System.Memory test project. This is misleading when skimming logs/config; please scope the comment to this project/suite.
    <!-- Log test starts and thread IDs to identify any MacCatalyst CoreCLR test that exceeds the XHarness timeout. -->

src/libraries/sendtohelix-mobile.targets:38

  • DOTNET_GENERATE_ASPNET_CERTIFICATE is introduced here but doesn’t appear anywhere else in the repo. To make this maintainable (and to ensure the intended behavior doesn’t silently become a no-op), it would help to add a reference (docs/issue/source) that defines this knob and the expected values on the .NET SDK/runtime used by Helix.
    <!-- ASP.NET Core development certificate generation can block Apple Helix work items before XHarness starts. -->
    <HelixPreCommand Include="export DOTNET_GENERATE_ASPNET_CERTIFICATE=false" />

eng/testing/tests.ioslike.targets:56

  • XHARNESS_LOG_THREAD_ID is only introduced here (no other references in the repo), so it’s hard to tell whether the pinned XHarness version actually consumes it. Adding a short note that these env var names are XHarness-controlled (and should stay in sync with the pinned XHarness package) would reduce future confusion if the variable is renamed/removed upstream.
    <_AppleXUnitProgressArguments Condition="'$(XUnitShowProgress)' == 'true'">--set-env=XHARNESS_LOG_TEST_START=true --set-env=XHARNESS_LOG_THREAD_ID=true</_AppleXUnitProgressArguments>

@matouskozak

Copy link
Copy Markdown
Member Author

/azp run runtime-maccatalyst

Note

This CI trigger comment was posted with GitHub Copilot assistance.

@azure-pipelines

Copy link
Copy Markdown
No pipelines are associated with this pull request.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: f6d48135-ce36-4c74-be70-92cec287406d
Copilot AI review requested due to automatic review settings August 5, 2026 17:40

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.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated no new comments.

Suppressed comments (1)

src/libraries/System.Memory/tests/System.Memory.Tests.csproj:8

  • The comment suggests this logging applies to any MacCatalyst CoreCLR run, but the property is additionally gated on EnableAppSandbox and RunSmokeTestsOnly. Updating the comment to reflect the actual conditions would avoid confusion when diagnosing timeouts.
    <!-- Log test starts and thread IDs to identify any MacCatalyst CoreCLR test that exceeds the XHarness timeout. -->
    <XUnitShowProgress Condition="'$(TargetOS)' == 'maccatalyst' and '$(UseMonoRuntime)' != 'true' and '$(UseNativeAOTRuntime)' != 'true' and '$(EnableAppSandbox)' != 'true' and '$(RunSmokeTestsOnly)' != 'true'">true</XUnitShowProgress>

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: f6d48135-ce36-4c74-be70-92cec287406d
Copilot AI review requested due to automatic review settings August 6, 2026 06:25
@matouskozak matouskozak changed the title Disable ASP.NET certificate generation for Apple Helix jobs Prevent Apple Helix stalls and skip hanging MacCatalyst test Aug 6, 2026

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.

Pull request overview

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

@matouskozak
matouskozak marked this pull request as ready for review August 6, 2026 06:31
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 3 pipeline(s).
13 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

@matouskozak

Copy link
Copy Markdown
Member Author

if this works we could look at passing it everywhere, most (all?) test suites shouldn't need that cert

It looks like it helps on mobile because we're building the test apps on helix. We can definitelly disable it everywhere, I suppose this would be somewhere in arcade? I can merge this in and see if we have less hangs on apple mobile CI to confirm it really solves the issue.

@matouskozak

Copy link
Copy Markdown
Member Author

/ba-g the failures are unrelated (and helix monitor bug #17257

@matouskozak
matouskozak requested a review from steveisok August 6, 2026 12:37
@matouskozak
matouskozak merged commit a1af7eb into main Aug 6, 2026
98 of 100 checks passed
@matouskozak
matouskozak deleted the matouskozak-disable-maccatalyst-memory-tests branch August 6, 2026 15:24
@dotnet-milestone-bot dotnet-milestone-bot Bot added this to the 11.0-rc1 milestone Aug 7, 2026
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 6, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants