Conversation
|
Tagging subscribers to this area: @akoeplinger, @matouskozak, @simonrozsival |
There was a problem hiding this comment.
Pull request overview
Reduces macOS CI load by shrinking the Apple mobile test matrix (iOS/tvOS simulators/devices and MacCatalyst), aiming to keep coverage focused on common developer/user scenarios while removing redundant jobs.
Changes:
runtime.yml: drop tvOS device from mobile smoke jobs and remove the MacCatalyst Mono smoke entry.runtime-extra-platforms-ioslike.yml: shift iOS-like device coverage to tvOS-only.runtime-extra-platforms-ioslikesimulator.yml: focus simulator coverage on iOS simulator only, switch to Debug, and remove NativeAOT simulator runtime tests.runtime-extra-platforms-maccatalyst.yml: remove MacCatalyst x64 coverage (arm64 only).
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 7 comments.
| File | Description |
|---|---|
| eng/pipelines/runtime.yml | Removes tvOS device and MacCatalyst smoke jobs from the default runtime pipeline’s Apple-mobile matrix. |
| eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml | Removes iOS device runs so iOS-like device testing is tvOS-only in extra-platforms. |
| eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml | Narrows simulator jobs to iOS simulator, switches to Debug, and drops NativeAOT simulator runtime tests. |
| eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml | Drops MacCatalyst x64 from extra-platforms, leaving arm64 only. |
You can also share your feedback on Copilot code review. Take the survey.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml
Show resolved
Hide resolved
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml
Outdated
Show resolved
Hide resolved
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml
Outdated
Show resolved
Hide resolved
eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml
Outdated
Show resolved
Hide resolved
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml
Outdated
Show resolved
Hide resolved
|
I didn't look at the existing coverage, so maybe this is already covered:
|
Reduce the Apple mobile test matrix from 47 to 24 jobs (-23 per run), restructured around real user scenarios: - runtime.yml: iOS-only smoke tests (8 -> 3 jobs) Remove tvos_arm64 from smoke tests, remove maccatalyst Mono_Smoke - ioslike.yml: tvOS devices only in Release (12 -> 6 jobs) Remove ios_arm64 (covered by runtime.yml smoke) - ioslikesimulator.yml: iossimulator only in Debug (15 -> 8 jobs) Remove tvossimulator, change Release to Debug, drop NativeAOT - maccatalyst.yml: arm64 only (12 -> 7 jobs) Remove maccatalyst_x64 (Intel Macs EOL) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
88bd5b0 to
ce99125
Compare
| isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} | ||
| isiOSLikeOnlyBuild: ${{ parameters.isiOSLikeOnlyBuild }} | ||
| platforms: | ||
| - ios_arm64 |
There was a problem hiding this comment.
I'm almost certain that we run more tests in extra-platforms on iOS-arm64 than we do in the runtime pipeline (smoky-only). Do you think that tvOS provides sufficient parity with iOS so we're fine with dropping this?
There was a problem hiding this comment.
In extra-platforms ios-arm64, the following test suites run: System.IO.Hashing.Tests, System.IO.MemoryMappedFiles.Tests, and System.Runtime.Numerics.Tests. These tests were previously crashing on tvOS. I assume this was an infrastructure issue rather than something platform-specific, so let's try enabling them on tvOS again.
…urations for clarity
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated no new comments.
You can also share your feedback on Copilot code review. Take the survey.
… exclusions from tests
…ous crashes on tvOS
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
You can also share your feedback on Copilot code review. Take the survey.
eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml
Outdated
Show resolved
Hide resolved
- Restore MacCatalyst Mono + CoreCLR + NativeAOT smoke in runtime.yml - Add NativeAOT library smoke to ioslikesimulator and maccatalyst - Replace NativeAOT runtime tests with library tests in maccatalyst - Add CoreCLR AppSandbox library tests for maccatalyst - Change maccatalyst CoreCLR x64+arm64 from smoke to full library tests - Use x64 only for library tests in ioslikesimulator - Reorder entries: Mono > NativeAOT > CoreCLR, library > runtime Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…uce-apple-ci-matrix # Conflicts: # eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml # eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
You can also share your feedback on Copilot code review. Take the survey.
| - maccatalyst_x64 | ||
| - maccatalyst_arm64 |
There was a problem hiding this comment.
This new AllSubsets_CoreCLR job includes maccatalyst_x64, which contradicts the PR description rationale that "Intel Macs are EOL; arm64 is the sole active architecture" and the stated goal of removing maccatalyst_x64 from entries. All other modified entries in this file have x64 removed. If x64 coverage is intentionally kept here for CoreCLR full library tests, the PR description should be updated to reflect this. Otherwise, consider removing maccatalyst_x64 from this entry as well.
| eq(variables['librariesContainsChange'], true), | ||
| eq(variables['coreclrContainsChange'], true), | ||
| eq(variables['isRollingBuild'], true)) |
There was a problem hiding this comment.
The indentation of eq() calls inside the condition block is inconsistent with the surrounding pattern. Other condition blocks in this file (e.g., lines 1303-1306) indent the eq() calls inside or() with two extra spaces. Here, the eq() calls are at the same indentation level as or(. While this doesn't affect functionality (it's inside a >- scalar), it would be more consistent to indent them.
| eq(variables['librariesContainsChange'], true), | |
| eq(variables['coreclrContainsChange'], true), | |
| eq(variables['isRollingBuild'], true)) | |
| eq(variables['librariesContainsChange'], true), | |
| eq(variables['coreclrContainsChange'], true), | |
| eq(variables['isRollingBuild'], true)) |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
You can also share your feedback on Copilot code review. Take the survey.
| @@ -249,14 +249,6 @@ | |||
| <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Runtime/tests/System.Reflection.Tests/System.Reflection.Tests.csproj" /> | |||
|
/azp run runtime-ioslike |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Reduce the Apple mobile CI test matrix from 47 → 32 jobs (saving 15 jobs) to mitigate macOS queue congestion and align with the default scenarios.
What runs where
runtime.yml— ios + maccatalyst arm64 smoke (6 jobs)runtime-extra-platforms-ioslike.yml— tvos + ios Debug smoke (7 jobs)runtime-extra-platforms-ioslikesimulator.yml— iossimulator Debug + Release smoke (8 jobs)runtime-extra-platforms-maccatalyst.yml— maccatalyst full + Debug smoke (11 jobs)Other changes
System.IO.Hashing.Tests,System.IO.MemoryMappedFiles.Tests,System.Runtime.Numerics.Tests)