dotnet / dotnet/runtime

[clr-ios] Run Apple-mobile Helix test legs with partial trimming

Open
#129,567 3 comments 0 reactions 0 assignees View on GitHub
area-Infrastructure os-ios
Dominant language
C#
Stars
18.3k
Forks
5.6k
PR merge metrics
PR metrics pending

Description

## Description
On aggressively-trimmed Apple-mobile Helix legs such as `iossimulator-arm64` CoreCLR, reflection-heavy test projects get their dependencies stripped by the trimmer, so the host discovers zero test cases and XHarness reports the run as a crash with `Tests run: 0` and `APP_CRASH`. To keep these legs green we keep adding projects to `ProjectExclusions` in `src/libraries/tests.proj`, for example `Microsoft.Extensions.DependencyInjection.Tests` and `Microsoft.Extensions.DependencyInjection.ExternalContainers.Tests`, each trading CI stability for lost coverage.

Run the Apple-mobile library-test Helix legs without aggressive trimming, as was previously done on rolling builds, so reflection-heavy projects keep the metadata they need, we regain coverage over currently-excluded areas, and the legs become more stable. Once coverage is restored, re-enable the projects excluded purely due to trimming.

Related PR #129514

Contributor guide

Open the contributing guide

Research direction

Start with src/libraries/tests.proj and related PR #129514, then compare how Apple-mobile Helix legs were configured on rolling builds. Verify that aggressively trimmed iossimulator-arm64 CoreCLR legs retain reflection metadata, no longer report Tests run: 0 or APP_CRASH, and that projects excluded only for trimming can be re-enabled.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, ios
Domain
ci-cd, mobile, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.