Reduce Apple mobile CI matrix - #125441

Merged
kotlarmilos merged 36 commits into
dotnet:mainfrom
kotlarmilos:reduce-apple-ci-matrix
Apr 2, 2026
Merged

Reduce Apple mobile CI matrix#125441
kotlarmilos merged 36 commits into
dotnet:mainfrom
kotlarmilos:reduce-apple-ci-matrix

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented Mar 11, 2026

Copy link
Copy Markdown
Member

Description

Reduce the Apple mobile CI test matrix to mitigate macOS queue congestion and align with the default scenarios.

What runs where

runtime.yml — iossimulator + maccatalyst arm64 smoke (6 jobs)

PlatformRuntimeTest typeConfig
iossimulator_arm64MonoLibrary smokeRelease
iossimulator_arm64NativeAOTLibrary smokeRelease
iossimulator_arm64CoreCLRLibrary smokeRelease
maccatalyst_arm64MonoLibrary smokeRelease
maccatalyst_arm64NativeAOTLibrary smokeRelease
maccatalyst_arm64CoreCLRLibrary smokeRelease

runtime-extra-platforms-ioslike.yml — tvos full + Debug smoke (6 jobs)

PlatformRuntimeTest typeConfig
tvos_arm64MonoLibrary testsRelease
tvos_arm64MonoRuntime testsRelease
tvos_arm64NativeAOTLibrary smokeRelease
tvos_arm64CoreCLRLibrary testsRelease
tvos_arm64CoreCLRRuntime testsRelease
tvos_arm64CoreCLRLibrary smokeDebug

runtime-extra-platforms-ioslikesimulator.yml — iossimulator Release + Debug smoke (9 jobs)

PlatformRuntimeTest typeConfig
iossimulator_x64, iossimulator_arm64MonoLibrary testsRelease
iossimulator_arm64MonoRuntime testsRelease
iossimulator_x64, iossimulator_arm64NativeAOTLibrary smokeRelease
iossimulator_x64, iossimulator_arm64CoreCLRLibrary testsRelease
iossimulator_arm64CoreCLRRuntime testsRelease
iossimulator_arm64CoreCLRLibrary smokeDebug

runtime-extra-platforms-maccatalyst.yml — maccatalyst full + Debug smoke (12 jobs)

PlatformRuntimeTest typeConfig
maccatalyst_x64, maccatalyst_arm64MonoLibrary testsRelease
maccatalyst_arm64MonoRuntime testsRelease
maccatalyst_arm64MonoLibrary smoke (AppSandbox)Release
maccatalyst_x64, maccatalyst_arm64NativeAOTLibrary smokeRelease
maccatalyst_arm64NativeAOTLibrary smoke (AppSandbox)Release
maccatalyst_x64, maccatalyst_arm64CoreCLRLibrary testsRelease
maccatalyst_arm64CoreCLRRuntime testsRelease
maccatalyst_arm64CoreCLRLibrary smoke (AppSandbox)Release
maccatalyst_arm64CoreCLRLibrary smokeDebug

Other changes

  • Re-enabled 3 tvOS test suites that were previously excluded due to mysterious crashes (System.IO.Hashing.Tests, System.IO.MemoryMappedFiles.Tests, System.Runtime.Numerics.Tests)
  • Entries reordered consistently: Mono → NativeAOT → CoreCLR, library → runtime within each group

CopilotAI review requested due to automatic review settings March 11, 2026 13:52
@kotlarmiloskotlarmilos changed the title Reduce Apple mobile CI matrix to alleviate macOS queue congestionReduce Apple mobile CI matrixMar 11, 2026

CopilotAI 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

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.

FileDescription
eng/pipelines/runtime.ymlRemoves tvOS device and MacCatalyst smoke jobs from the default runtime pipeline’s Apple-mobile matrix.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.ymlRemoves iOS device runs so iOS-like device testing is tvOS-only in extra-platforms.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.ymlNarrows simulator jobs to iOS simulator, switches to Debug, and drops NativeAOT simulator runtime tests.
eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.ymlDrops MacCatalyst x64 from extra-platforms, leaving arm64 only.

You can also share your feedback on Copilot code review. Take the survey.

Comment threadeng/pipelines/runtime.yml
Comment threadeng/pipelines/runtime.yml
@vitek-karas

Copy link
Copy Markdown
Member

I didn't look at the existing coverage, so maybe this is already covered:

  • I think we should have at least some basic testing of Release builds running on simulators (simulator is different enough platform from iOS, such that it warrants at least basic coverage)
  • Similarly we should have at least basic coverage for running Debug builds on real devices (while not as common, it IS a scenario for users) - this should include both iOS and tvOS devices.
  • macCatalyst - we should have some coverage for both Debug and Release (since both are scenarios for that target)

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>
Comment threadeng/pipelines/runtime.yml
CopilotAI review requested due to automatic review settings March 12, 2026 10:01

CopilotAI 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 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.

CopilotAI review requested due to automatic review settings March 12, 2026 10:16

CopilotAI 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 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.

Comment threadeng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml Outdated
Comment threadsrc/libraries/tests.proj
kotlarmilosand others added 4 commits March 12, 2026 11:24
- 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
CopilotAI review requested due to automatic review settings March 12, 2026 11:07
CopilotAI review requested due to automatic review settings April 1, 2026 20:00

CopilotAI 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 8 out of 8 changed files in this pull request and generated 2 comments.

Comment threadeng/pipelines/runtime.yml
@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-extra-platforms

@azure-pipelines

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

@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/ba-g known issues #125440#126183#126356#126455#126456#126457#126458#126459#126460#126461#126462#126463

None of these failures should be related to this PR and will be fixed in follow-ups. Proceeding with this PR in an effort to reduce load in queues and reduce noise/redundant builds

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

7 participants

@kotlarmilos@vitek-karas@rolfbjarne@matouskozak@steveisok@agocke
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Reduce Apple mobile CI matrix - #125441

Merged
kotlarmilos merged 36 commits into
dotnet:mainfrom
kotlarmilos:reduce-apple-ci-matrix
Apr 2, 2026
Merged

Reduce Apple mobile CI matrix#125441
kotlarmilos merged 36 commits into
dotnet:mainfrom
kotlarmilos:reduce-apple-ci-matrix

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented Mar 11, 2026

Copy link
Copy Markdown
Member

Description

Reduce the Apple mobile CI test matrix to mitigate macOS queue congestion and align with the default scenarios.

What runs where

runtime.yml — iossimulator + maccatalyst arm64 smoke (6 jobs)

PlatformRuntimeTest typeConfig
iossimulator_arm64MonoLibrary smokeRelease
iossimulator_arm64NativeAOTLibrary smokeRelease
iossimulator_arm64CoreCLRLibrary smokeRelease
maccatalyst_arm64MonoLibrary smokeRelease
maccatalyst_arm64NativeAOTLibrary smokeRelease
maccatalyst_arm64CoreCLRLibrary smokeRelease

runtime-extra-platforms-ioslike.yml — tvos full + Debug smoke (6 jobs)

PlatformRuntimeTest typeConfig
tvos_arm64MonoLibrary testsRelease
tvos_arm64MonoRuntime testsRelease
tvos_arm64NativeAOTLibrary smokeRelease
tvos_arm64CoreCLRLibrary testsRelease
tvos_arm64CoreCLRRuntime testsRelease
tvos_arm64CoreCLRLibrary smokeDebug

runtime-extra-platforms-ioslikesimulator.yml — iossimulator Release + Debug smoke (9 jobs)

PlatformRuntimeTest typeConfig
iossimulator_x64, iossimulator_arm64MonoLibrary testsRelease
iossimulator_arm64MonoRuntime testsRelease
iossimulator_x64, iossimulator_arm64NativeAOTLibrary smokeRelease
iossimulator_x64, iossimulator_arm64CoreCLRLibrary testsRelease
iossimulator_arm64CoreCLRRuntime testsRelease
iossimulator_arm64CoreCLRLibrary smokeDebug

runtime-extra-platforms-maccatalyst.yml — maccatalyst full + Debug smoke (12 jobs)

PlatformRuntimeTest typeConfig
maccatalyst_x64, maccatalyst_arm64MonoLibrary testsRelease
maccatalyst_arm64MonoRuntime testsRelease
maccatalyst_arm64MonoLibrary smoke (AppSandbox)Release
maccatalyst_x64, maccatalyst_arm64NativeAOTLibrary smokeRelease
maccatalyst_arm64NativeAOTLibrary smoke (AppSandbox)Release
maccatalyst_x64, maccatalyst_arm64CoreCLRLibrary testsRelease
maccatalyst_arm64CoreCLRRuntime testsRelease
maccatalyst_arm64CoreCLRLibrary smoke (AppSandbox)Release
maccatalyst_arm64CoreCLRLibrary smokeDebug

Other changes

  • Re-enabled 3 tvOS test suites that were previously excluded due to mysterious crashes (System.IO.Hashing.Tests, System.IO.MemoryMappedFiles.Tests, System.Runtime.Numerics.Tests)
  • Entries reordered consistently: Mono → NativeAOT → CoreCLR, library → runtime within each group

CopilotAI review requested due to automatic review settings March 11, 2026 13:52
@kotlarmiloskotlarmilos changed the title Reduce Apple mobile CI matrix to alleviate macOS queue congestionReduce Apple mobile CI matrixMar 11, 2026

CopilotAI 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

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.

FileDescription
eng/pipelines/runtime.ymlRemoves tvOS device and MacCatalyst smoke jobs from the default runtime pipeline’s Apple-mobile matrix.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.ymlRemoves iOS device runs so iOS-like device testing is tvOS-only in extra-platforms.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.ymlNarrows simulator jobs to iOS simulator, switches to Debug, and drops NativeAOT simulator runtime tests.
eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.ymlDrops MacCatalyst x64 from extra-platforms, leaving arm64 only.

You can also share your feedback on Copilot code review. Take the survey.

Comment threadeng/pipelines/runtime.yml
Comment threadeng/pipelines/runtime.yml
@vitek-karas

Copy link
Copy Markdown
Member

I didn't look at the existing coverage, so maybe this is already covered:

  • I think we should have at least some basic testing of Release builds running on simulators (simulator is different enough platform from iOS, such that it warrants at least basic coverage)
  • Similarly we should have at least basic coverage for running Debug builds on real devices (while not as common, it IS a scenario for users) - this should include both iOS and tvOS devices.
  • macCatalyst - we should have some coverage for both Debug and Release (since both are scenarios for that target)

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>
Comment threadeng/pipelines/runtime.yml
CopilotAI review requested due to automatic review settings March 12, 2026 10:01

CopilotAI 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 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.

CopilotAI review requested due to automatic review settings March 12, 2026 10:16

CopilotAI 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 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.

Comment threadeng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml Outdated
Comment threadsrc/libraries/tests.proj
kotlarmilosand others added 4 commits March 12, 2026 11:24
- 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
CopilotAI review requested due to automatic review settings March 12, 2026 11:07
CopilotAI review requested due to automatic review settings April 1, 2026 20:00

CopilotAI 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 8 out of 8 changed files in this pull request and generated 2 comments.

Comment threadeng/pipelines/runtime.yml
@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-extra-platforms

@azure-pipelines

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

@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/ba-g known issues #125440#126183#126356#126455#126456#126457#126458#126459#126460#126461#126462#126463

None of these failures should be related to this PR and will be fixed in follow-ups. Proceeding with this PR in an effort to reduce load in queues and reduce noise/redundant builds

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

7 participants

@kotlarmilos@vitek-karas@rolfbjarne@matouskozak@steveisok@agocke
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Reduce Apple mobile CI matrix - #125441

Merged
kotlarmilos merged 36 commits into
dotnet:mainfrom
kotlarmilos:reduce-apple-ci-matrix
Apr 2, 2026
Merged

Reduce Apple mobile CI matrix#125441
kotlarmilos merged 36 commits into
dotnet:mainfrom
kotlarmilos:reduce-apple-ci-matrix

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented Mar 11, 2026

Copy link
Copy Markdown
Member

Description

Reduce the Apple mobile CI test matrix to mitigate macOS queue congestion and align with the default scenarios.

What runs where

runtime.yml — iossimulator + maccatalyst arm64 smoke (6 jobs)

PlatformRuntimeTest typeConfig
iossimulator_arm64MonoLibrary smokeRelease
iossimulator_arm64NativeAOTLibrary smokeRelease
iossimulator_arm64CoreCLRLibrary smokeRelease
maccatalyst_arm64MonoLibrary smokeRelease
maccatalyst_arm64NativeAOTLibrary smokeRelease
maccatalyst_arm64CoreCLRLibrary smokeRelease

runtime-extra-platforms-ioslike.yml — tvos full + Debug smoke (6 jobs)

PlatformRuntimeTest typeConfig
tvos_arm64MonoLibrary testsRelease
tvos_arm64MonoRuntime testsRelease
tvos_arm64NativeAOTLibrary smokeRelease
tvos_arm64CoreCLRLibrary testsRelease
tvos_arm64CoreCLRRuntime testsRelease
tvos_arm64CoreCLRLibrary smokeDebug

runtime-extra-platforms-ioslikesimulator.yml — iossimulator Release + Debug smoke (9 jobs)

PlatformRuntimeTest typeConfig
iossimulator_x64, iossimulator_arm64MonoLibrary testsRelease
iossimulator_arm64MonoRuntime testsRelease
iossimulator_x64, iossimulator_arm64NativeAOTLibrary smokeRelease
iossimulator_x64, iossimulator_arm64CoreCLRLibrary testsRelease
iossimulator_arm64CoreCLRRuntime testsRelease
iossimulator_arm64CoreCLRLibrary smokeDebug

runtime-extra-platforms-maccatalyst.yml — maccatalyst full + Debug smoke (12 jobs)

PlatformRuntimeTest typeConfig
maccatalyst_x64, maccatalyst_arm64MonoLibrary testsRelease
maccatalyst_arm64MonoRuntime testsRelease
maccatalyst_arm64MonoLibrary smoke (AppSandbox)Release
maccatalyst_x64, maccatalyst_arm64NativeAOTLibrary smokeRelease
maccatalyst_arm64NativeAOTLibrary smoke (AppSandbox)Release
maccatalyst_x64, maccatalyst_arm64CoreCLRLibrary testsRelease
maccatalyst_arm64CoreCLRRuntime testsRelease
maccatalyst_arm64CoreCLRLibrary smoke (AppSandbox)Release
maccatalyst_arm64CoreCLRLibrary smokeDebug

Other changes

  • Re-enabled 3 tvOS test suites that were previously excluded due to mysterious crashes (System.IO.Hashing.Tests, System.IO.MemoryMappedFiles.Tests, System.Runtime.Numerics.Tests)
  • Entries reordered consistently: Mono → NativeAOT → CoreCLR, library → runtime within each group

CopilotAI review requested due to automatic review settings March 11, 2026 13:52
@kotlarmiloskotlarmilos changed the title Reduce Apple mobile CI matrix to alleviate macOS queue congestionReduce Apple mobile CI matrixMar 11, 2026

CopilotAI 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

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.

FileDescription
eng/pipelines/runtime.ymlRemoves tvOS device and MacCatalyst smoke jobs from the default runtime pipeline’s Apple-mobile matrix.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.ymlRemoves iOS device runs so iOS-like device testing is tvOS-only in extra-platforms.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.ymlNarrows simulator jobs to iOS simulator, switches to Debug, and drops NativeAOT simulator runtime tests.
eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.ymlDrops MacCatalyst x64 from extra-platforms, leaving arm64 only.

You can also share your feedback on Copilot code review. Take the survey.

Comment threadeng/pipelines/runtime.yml
Comment threadeng/pipelines/runtime.yml
@vitek-karas

Copy link
Copy Markdown
Member

I didn't look at the existing coverage, so maybe this is already covered:

  • I think we should have at least some basic testing of Release builds running on simulators (simulator is different enough platform from iOS, such that it warrants at least basic coverage)
  • Similarly we should have at least basic coverage for running Debug builds on real devices (while not as common, it IS a scenario for users) - this should include both iOS and tvOS devices.
  • macCatalyst - we should have some coverage for both Debug and Release (since both are scenarios for that target)

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>
Comment threadeng/pipelines/runtime.yml
CopilotAI review requested due to automatic review settings March 12, 2026 10:01

CopilotAI 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 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.

CopilotAI review requested due to automatic review settings March 12, 2026 10:16

CopilotAI 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 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.

Comment threadeng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml Outdated
Comment threadsrc/libraries/tests.proj
kotlarmilosand others added 4 commits March 12, 2026 11:24
- 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
CopilotAI review requested due to automatic review settings March 12, 2026 11:07
CopilotAI review requested due to automatic review settings April 1, 2026 20:00

CopilotAI 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 8 out of 8 changed files in this pull request and generated 2 comments.

Comment threadeng/pipelines/runtime.yml
@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-extra-platforms

@azure-pipelines

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

@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/ba-g known issues #125440#126183#126356#126455#126456#126457#126458#126459#126460#126461#126462#126463

None of these failures should be related to this PR and will be fixed in follow-ups. Proceeding with this PR in an effort to reduce load in queues and reduce noise/redundant builds

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

7 participants

@kotlarmilos@vitek-karas@rolfbjarne@matouskozak@steveisok@agocke
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Reduce Apple mobile CI matrix - #125441

Merged
kotlarmilos merged 36 commits into
dotnet:mainfrom
kotlarmilos:reduce-apple-ci-matrix
Apr 2, 2026
Merged

Reduce Apple mobile CI matrix#125441
kotlarmilos merged 36 commits into
dotnet:mainfrom
kotlarmilos:reduce-apple-ci-matrix

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented Mar 11, 2026

Copy link
Copy Markdown
Member

Description

Reduce the Apple mobile CI test matrix to mitigate macOS queue congestion and align with the default scenarios.

What runs where

runtime.yml — iossimulator + maccatalyst arm64 smoke (6 jobs)

PlatformRuntimeTest typeConfig
iossimulator_arm64MonoLibrary smokeRelease
iossimulator_arm64NativeAOTLibrary smokeRelease
iossimulator_arm64CoreCLRLibrary smokeRelease
maccatalyst_arm64MonoLibrary smokeRelease
maccatalyst_arm64NativeAOTLibrary smokeRelease
maccatalyst_arm64CoreCLRLibrary smokeRelease

runtime-extra-platforms-ioslike.yml — tvos full + Debug smoke (6 jobs)

PlatformRuntimeTest typeConfig
tvos_arm64MonoLibrary testsRelease
tvos_arm64MonoRuntime testsRelease
tvos_arm64NativeAOTLibrary smokeRelease
tvos_arm64CoreCLRLibrary testsRelease
tvos_arm64CoreCLRRuntime testsRelease
tvos_arm64CoreCLRLibrary smokeDebug

runtime-extra-platforms-ioslikesimulator.yml — iossimulator Release + Debug smoke (9 jobs)

PlatformRuntimeTest typeConfig
iossimulator_x64, iossimulator_arm64MonoLibrary testsRelease
iossimulator_arm64MonoRuntime testsRelease
iossimulator_x64, iossimulator_arm64NativeAOTLibrary smokeRelease
iossimulator_x64, iossimulator_arm64CoreCLRLibrary testsRelease
iossimulator_arm64CoreCLRRuntime testsRelease
iossimulator_arm64CoreCLRLibrary smokeDebug

runtime-extra-platforms-maccatalyst.yml — maccatalyst full + Debug smoke (12 jobs)

PlatformRuntimeTest typeConfig
maccatalyst_x64, maccatalyst_arm64MonoLibrary testsRelease
maccatalyst_arm64MonoRuntime testsRelease
maccatalyst_arm64MonoLibrary smoke (AppSandbox)Release
maccatalyst_x64, maccatalyst_arm64NativeAOTLibrary smokeRelease
maccatalyst_arm64NativeAOTLibrary smoke (AppSandbox)Release
maccatalyst_x64, maccatalyst_arm64CoreCLRLibrary testsRelease
maccatalyst_arm64CoreCLRRuntime testsRelease
maccatalyst_arm64CoreCLRLibrary smoke (AppSandbox)Release
maccatalyst_arm64CoreCLRLibrary smokeDebug

Other changes

  • Re-enabled 3 tvOS test suites that were previously excluded due to mysterious crashes (System.IO.Hashing.Tests, System.IO.MemoryMappedFiles.Tests, System.Runtime.Numerics.Tests)
  • Entries reordered consistently: Mono → NativeAOT → CoreCLR, library → runtime within each group

CopilotAI review requested due to automatic review settings March 11, 2026 13:52
@kotlarmiloskotlarmilos changed the title Reduce Apple mobile CI matrix to alleviate macOS queue congestionReduce Apple mobile CI matrixMar 11, 2026

CopilotAI 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

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.

FileDescription
eng/pipelines/runtime.ymlRemoves tvOS device and MacCatalyst smoke jobs from the default runtime pipeline’s Apple-mobile matrix.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.ymlRemoves iOS device runs so iOS-like device testing is tvOS-only in extra-platforms.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.ymlNarrows simulator jobs to iOS simulator, switches to Debug, and drops NativeAOT simulator runtime tests.
eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.ymlDrops MacCatalyst x64 from extra-platforms, leaving arm64 only.

You can also share your feedback on Copilot code review. Take the survey.

Comment threadeng/pipelines/runtime.yml
Comment threadeng/pipelines/runtime.yml
@vitek-karas

Copy link
Copy Markdown
Member

I didn't look at the existing coverage, so maybe this is already covered:

  • I think we should have at least some basic testing of Release builds running on simulators (simulator is different enough platform from iOS, such that it warrants at least basic coverage)
  • Similarly we should have at least basic coverage for running Debug builds on real devices (while not as common, it IS a scenario for users) - this should include both iOS and tvOS devices.
  • macCatalyst - we should have some coverage for both Debug and Release (since both are scenarios for that target)

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>
Comment threadeng/pipelines/runtime.yml
CopilotAI review requested due to automatic review settings March 12, 2026 10:01

CopilotAI 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 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.

CopilotAI review requested due to automatic review settings March 12, 2026 10:16

CopilotAI 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 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.

Comment threadeng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml Outdated
Comment threadsrc/libraries/tests.proj
kotlarmilosand others added 4 commits March 12, 2026 11:24
- 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
CopilotAI review requested due to automatic review settings March 12, 2026 11:07
CopilotAI review requested due to automatic review settings April 1, 2026 20:00

CopilotAI 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 8 out of 8 changed files in this pull request and generated 2 comments.

Comment threadeng/pipelines/runtime.yml
@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-extra-platforms

@azure-pipelines

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

@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/ba-g known issues #125440#126183#126356#126455#126456#126457#126458#126459#126460#126461#126462#126463

None of these failures should be related to this PR and will be fixed in follow-ups. Proceeding with this PR in an effort to reduce load in queues and reduce noise/redundant builds

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

7 participants

@kotlarmilos@vitek-karas@rolfbjarne@matouskozak@steveisok@agocke
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Reduce Apple mobile CI matrix - #125441

Merged
kotlarmilos merged 36 commits into
dotnet:mainfrom
kotlarmilos:reduce-apple-ci-matrix
Apr 2, 2026
Merged

Reduce Apple mobile CI matrix#125441
kotlarmilos merged 36 commits into
dotnet:mainfrom
kotlarmilos:reduce-apple-ci-matrix

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented Mar 11, 2026

Copy link
Copy Markdown
Member

Description

Reduce the Apple mobile CI test matrix to mitigate macOS queue congestion and align with the default scenarios.

What runs where

runtime.yml — iossimulator + maccatalyst arm64 smoke (6 jobs)

PlatformRuntimeTest typeConfig
iossimulator_arm64MonoLibrary smokeRelease
iossimulator_arm64NativeAOTLibrary smokeRelease
iossimulator_arm64CoreCLRLibrary smokeRelease
maccatalyst_arm64MonoLibrary smokeRelease
maccatalyst_arm64NativeAOTLibrary smokeRelease
maccatalyst_arm64CoreCLRLibrary smokeRelease

runtime-extra-platforms-ioslike.yml — tvos full + Debug smoke (6 jobs)

PlatformRuntimeTest typeConfig
tvos_arm64MonoLibrary testsRelease
tvos_arm64MonoRuntime testsRelease
tvos_arm64NativeAOTLibrary smokeRelease
tvos_arm64CoreCLRLibrary testsRelease
tvos_arm64CoreCLRRuntime testsRelease
tvos_arm64CoreCLRLibrary smokeDebug

runtime-extra-platforms-ioslikesimulator.yml — iossimulator Release + Debug smoke (9 jobs)

PlatformRuntimeTest typeConfig
iossimulator_x64, iossimulator_arm64MonoLibrary testsRelease
iossimulator_arm64MonoRuntime testsRelease
iossimulator_x64, iossimulator_arm64NativeAOTLibrary smokeRelease
iossimulator_x64, iossimulator_arm64CoreCLRLibrary testsRelease
iossimulator_arm64CoreCLRRuntime testsRelease
iossimulator_arm64CoreCLRLibrary smokeDebug

runtime-extra-platforms-maccatalyst.yml — maccatalyst full + Debug smoke (12 jobs)

PlatformRuntimeTest typeConfig
maccatalyst_x64, maccatalyst_arm64MonoLibrary testsRelease
maccatalyst_arm64MonoRuntime testsRelease
maccatalyst_arm64MonoLibrary smoke (AppSandbox)Release
maccatalyst_x64, maccatalyst_arm64NativeAOTLibrary smokeRelease
maccatalyst_arm64NativeAOTLibrary smoke (AppSandbox)Release
maccatalyst_x64, maccatalyst_arm64CoreCLRLibrary testsRelease
maccatalyst_arm64CoreCLRRuntime testsRelease
maccatalyst_arm64CoreCLRLibrary smoke (AppSandbox)Release
maccatalyst_arm64CoreCLRLibrary smokeDebug

Other changes

  • Re-enabled 3 tvOS test suites that were previously excluded due to mysterious crashes (System.IO.Hashing.Tests, System.IO.MemoryMappedFiles.Tests, System.Runtime.Numerics.Tests)
  • Entries reordered consistently: Mono → NativeAOT → CoreCLR, library → runtime within each group

CopilotAI review requested due to automatic review settings March 11, 2026 13:52
@kotlarmiloskotlarmilos changed the title Reduce Apple mobile CI matrix to alleviate macOS queue congestionReduce Apple mobile CI matrixMar 11, 2026

CopilotAI 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

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.

FileDescription
eng/pipelines/runtime.ymlRemoves tvOS device and MacCatalyst smoke jobs from the default runtime pipeline’s Apple-mobile matrix.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.ymlRemoves iOS device runs so iOS-like device testing is tvOS-only in extra-platforms.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.ymlNarrows simulator jobs to iOS simulator, switches to Debug, and drops NativeAOT simulator runtime tests.
eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.ymlDrops MacCatalyst x64 from extra-platforms, leaving arm64 only.

You can also share your feedback on Copilot code review. Take the survey.

Comment threadeng/pipelines/runtime.yml
Comment threadeng/pipelines/runtime.yml
@vitek-karas

Copy link
Copy Markdown
Member

I didn't look at the existing coverage, so maybe this is already covered:

  • I think we should have at least some basic testing of Release builds running on simulators (simulator is different enough platform from iOS, such that it warrants at least basic coverage)
  • Similarly we should have at least basic coverage for running Debug builds on real devices (while not as common, it IS a scenario for users) - this should include both iOS and tvOS devices.
  • macCatalyst - we should have some coverage for both Debug and Release (since both are scenarios for that target)

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>
Comment threadeng/pipelines/runtime.yml
CopilotAI review requested due to automatic review settings March 12, 2026 10:01

CopilotAI 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 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.

CopilotAI review requested due to automatic review settings March 12, 2026 10:16

CopilotAI 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 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.

Comment threadeng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml Outdated
Comment threadsrc/libraries/tests.proj
kotlarmilosand others added 4 commits March 12, 2026 11:24
- 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
CopilotAI review requested due to automatic review settings March 12, 2026 11:07
CopilotAI review requested due to automatic review settings April 1, 2026 20:00

CopilotAI 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 8 out of 8 changed files in this pull request and generated 2 comments.

Comment threadeng/pipelines/runtime.yml
@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-extra-platforms

@azure-pipelines

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

@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/ba-g known issues #125440#126183#126356#126455#126456#126457#126458#126459#126460#126461#126462#126463

None of these failures should be related to this PR and will be fixed in follow-ups. Proceeding with this PR in an effort to reduce load in queues and reduce noise/redundant builds

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

7 participants

@kotlarmilos@vitek-karas@rolfbjarne@matouskozak@steveisok@agocke
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Reduce Apple mobile CI matrix - #125441

Merged
kotlarmilos merged 36 commits into
dotnet:mainfrom
kotlarmilos:reduce-apple-ci-matrix
Apr 2, 2026
Merged

Reduce Apple mobile CI matrix#125441
kotlarmilos merged 36 commits into
dotnet:mainfrom
kotlarmilos:reduce-apple-ci-matrix

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented Mar 11, 2026

Copy link
Copy Markdown
Member

Description

Reduce the Apple mobile CI test matrix to mitigate macOS queue congestion and align with the default scenarios.

What runs where

runtime.yml — iossimulator + maccatalyst arm64 smoke (6 jobs)

PlatformRuntimeTest typeConfig
iossimulator_arm64MonoLibrary smokeRelease
iossimulator_arm64NativeAOTLibrary smokeRelease
iossimulator_arm64CoreCLRLibrary smokeRelease
maccatalyst_arm64MonoLibrary smokeRelease
maccatalyst_arm64NativeAOTLibrary smokeRelease
maccatalyst_arm64CoreCLRLibrary smokeRelease

runtime-extra-platforms-ioslike.yml — tvos full + Debug smoke (6 jobs)

PlatformRuntimeTest typeConfig
tvos_arm64MonoLibrary testsRelease
tvos_arm64MonoRuntime testsRelease
tvos_arm64NativeAOTLibrary smokeRelease
tvos_arm64CoreCLRLibrary testsRelease
tvos_arm64CoreCLRRuntime testsRelease
tvos_arm64CoreCLRLibrary smokeDebug

runtime-extra-platforms-ioslikesimulator.yml — iossimulator Release + Debug smoke (9 jobs)

PlatformRuntimeTest typeConfig
iossimulator_x64, iossimulator_arm64MonoLibrary testsRelease
iossimulator_arm64MonoRuntime testsRelease
iossimulator_x64, iossimulator_arm64NativeAOTLibrary smokeRelease
iossimulator_x64, iossimulator_arm64CoreCLRLibrary testsRelease
iossimulator_arm64CoreCLRRuntime testsRelease
iossimulator_arm64CoreCLRLibrary smokeDebug

runtime-extra-platforms-maccatalyst.yml — maccatalyst full + Debug smoke (12 jobs)

PlatformRuntimeTest typeConfig
maccatalyst_x64, maccatalyst_arm64MonoLibrary testsRelease
maccatalyst_arm64MonoRuntime testsRelease
maccatalyst_arm64MonoLibrary smoke (AppSandbox)Release
maccatalyst_x64, maccatalyst_arm64NativeAOTLibrary smokeRelease
maccatalyst_arm64NativeAOTLibrary smoke (AppSandbox)Release
maccatalyst_x64, maccatalyst_arm64CoreCLRLibrary testsRelease
maccatalyst_arm64CoreCLRRuntime testsRelease
maccatalyst_arm64CoreCLRLibrary smoke (AppSandbox)Release
maccatalyst_arm64CoreCLRLibrary smokeDebug

Other changes

  • Re-enabled 3 tvOS test suites that were previously excluded due to mysterious crashes (System.IO.Hashing.Tests, System.IO.MemoryMappedFiles.Tests, System.Runtime.Numerics.Tests)
  • Entries reordered consistently: Mono → NativeAOT → CoreCLR, library → runtime within each group

CopilotAI review requested due to automatic review settings March 11, 2026 13:52
@kotlarmiloskotlarmilos changed the title Reduce Apple mobile CI matrix to alleviate macOS queue congestionReduce Apple mobile CI matrixMar 11, 2026

CopilotAI 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

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.

FileDescription
eng/pipelines/runtime.ymlRemoves tvOS device and MacCatalyst smoke jobs from the default runtime pipeline’s Apple-mobile matrix.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.ymlRemoves iOS device runs so iOS-like device testing is tvOS-only in extra-platforms.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.ymlNarrows simulator jobs to iOS simulator, switches to Debug, and drops NativeAOT simulator runtime tests.
eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.ymlDrops MacCatalyst x64 from extra-platforms, leaving arm64 only.

You can also share your feedback on Copilot code review. Take the survey.

Comment threadeng/pipelines/runtime.yml
Comment threadeng/pipelines/runtime.yml
@vitek-karas

Copy link
Copy Markdown
Member

I didn't look at the existing coverage, so maybe this is already covered:

  • I think we should have at least some basic testing of Release builds running on simulators (simulator is different enough platform from iOS, such that it warrants at least basic coverage)
  • Similarly we should have at least basic coverage for running Debug builds on real devices (while not as common, it IS a scenario for users) - this should include both iOS and tvOS devices.
  • macCatalyst - we should have some coverage for both Debug and Release (since both are scenarios for that target)

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>
Comment threadeng/pipelines/runtime.yml
CopilotAI review requested due to automatic review settings March 12, 2026 10:01

CopilotAI 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 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.

CopilotAI review requested due to automatic review settings March 12, 2026 10:16

CopilotAI 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 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.

Comment threadeng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml Outdated
Comment threadsrc/libraries/tests.proj
kotlarmilosand others added 4 commits March 12, 2026 11:24
- 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
CopilotAI review requested due to automatic review settings March 12, 2026 11:07
CopilotAI review requested due to automatic review settings April 1, 2026 20:00

CopilotAI 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 8 out of 8 changed files in this pull request and generated 2 comments.

Comment threadeng/pipelines/runtime.yml
@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-extra-platforms

@azure-pipelines

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

@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/ba-g known issues #125440#126183#126356#126455#126456#126457#126458#126459#126460#126461#126462#126463

None of these failures should be related to this PR and will be fixed in follow-ups. Proceeding with this PR in an effort to reduce load in queues and reduce noise/redundant builds

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

7 participants

@kotlarmilos@vitek-karas@rolfbjarne@matouskozak@steveisok@agocke
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Reduce Apple mobile CI matrix - #125441

Merged
kotlarmilos merged 36 commits into
dotnet:mainfrom
kotlarmilos:reduce-apple-ci-matrix
Apr 2, 2026
Merged

Reduce Apple mobile CI matrix#125441
kotlarmilos merged 36 commits into
dotnet:mainfrom
kotlarmilos:reduce-apple-ci-matrix

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented Mar 11, 2026

Copy link
Copy Markdown
Member

Description

Reduce the Apple mobile CI test matrix to mitigate macOS queue congestion and align with the default scenarios.

What runs where

runtime.yml — iossimulator + maccatalyst arm64 smoke (6 jobs)

PlatformRuntimeTest typeConfig
iossimulator_arm64MonoLibrary smokeRelease
iossimulator_arm64NativeAOTLibrary smokeRelease
iossimulator_arm64CoreCLRLibrary smokeRelease
maccatalyst_arm64MonoLibrary smokeRelease
maccatalyst_arm64NativeAOTLibrary smokeRelease
maccatalyst_arm64CoreCLRLibrary smokeRelease

runtime-extra-platforms-ioslike.yml — tvos full + Debug smoke (6 jobs)

PlatformRuntimeTest typeConfig
tvos_arm64MonoLibrary testsRelease
tvos_arm64MonoRuntime testsRelease
tvos_arm64NativeAOTLibrary smokeRelease
tvos_arm64CoreCLRLibrary testsRelease
tvos_arm64CoreCLRRuntime testsRelease
tvos_arm64CoreCLRLibrary smokeDebug

runtime-extra-platforms-ioslikesimulator.yml — iossimulator Release + Debug smoke (9 jobs)

PlatformRuntimeTest typeConfig
iossimulator_x64, iossimulator_arm64MonoLibrary testsRelease
iossimulator_arm64MonoRuntime testsRelease
iossimulator_x64, iossimulator_arm64NativeAOTLibrary smokeRelease
iossimulator_x64, iossimulator_arm64CoreCLRLibrary testsRelease
iossimulator_arm64CoreCLRRuntime testsRelease
iossimulator_arm64CoreCLRLibrary smokeDebug

runtime-extra-platforms-maccatalyst.yml — maccatalyst full + Debug smoke (12 jobs)

PlatformRuntimeTest typeConfig
maccatalyst_x64, maccatalyst_arm64MonoLibrary testsRelease
maccatalyst_arm64MonoRuntime testsRelease
maccatalyst_arm64MonoLibrary smoke (AppSandbox)Release
maccatalyst_x64, maccatalyst_arm64NativeAOTLibrary smokeRelease
maccatalyst_arm64NativeAOTLibrary smoke (AppSandbox)Release
maccatalyst_x64, maccatalyst_arm64CoreCLRLibrary testsRelease
maccatalyst_arm64CoreCLRRuntime testsRelease
maccatalyst_arm64CoreCLRLibrary smoke (AppSandbox)Release
maccatalyst_arm64CoreCLRLibrary smokeDebug

Other changes

  • Re-enabled 3 tvOS test suites that were previously excluded due to mysterious crashes (System.IO.Hashing.Tests, System.IO.MemoryMappedFiles.Tests, System.Runtime.Numerics.Tests)
  • Entries reordered consistently: Mono → NativeAOT → CoreCLR, library → runtime within each group

CopilotAI review requested due to automatic review settings March 11, 2026 13:52
@kotlarmiloskotlarmilos changed the title Reduce Apple mobile CI matrix to alleviate macOS queue congestionReduce Apple mobile CI matrixMar 11, 2026

CopilotAI 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

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.

FileDescription
eng/pipelines/runtime.ymlRemoves tvOS device and MacCatalyst smoke jobs from the default runtime pipeline’s Apple-mobile matrix.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.ymlRemoves iOS device runs so iOS-like device testing is tvOS-only in extra-platforms.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.ymlNarrows simulator jobs to iOS simulator, switches to Debug, and drops NativeAOT simulator runtime tests.
eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.ymlDrops MacCatalyst x64 from extra-platforms, leaving arm64 only.

You can also share your feedback on Copilot code review. Take the survey.

Comment threadeng/pipelines/runtime.yml
Comment threadeng/pipelines/runtime.yml
@vitek-karas

Copy link
Copy Markdown
Member

I didn't look at the existing coverage, so maybe this is already covered:

  • I think we should have at least some basic testing of Release builds running on simulators (simulator is different enough platform from iOS, such that it warrants at least basic coverage)
  • Similarly we should have at least basic coverage for running Debug builds on real devices (while not as common, it IS a scenario for users) - this should include both iOS and tvOS devices.
  • macCatalyst - we should have some coverage for both Debug and Release (since both are scenarios for that target)

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>
Comment threadeng/pipelines/runtime.yml
CopilotAI review requested due to automatic review settings March 12, 2026 10:01

CopilotAI 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 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.

CopilotAI review requested due to automatic review settings March 12, 2026 10:16

CopilotAI 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 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.

Comment threadeng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml Outdated
Comment threadsrc/libraries/tests.proj
kotlarmilosand others added 4 commits March 12, 2026 11:24
- 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
CopilotAI review requested due to automatic review settings March 12, 2026 11:07
CopilotAI review requested due to automatic review settings April 1, 2026 20:00

CopilotAI 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 8 out of 8 changed files in this pull request and generated 2 comments.

Comment threadeng/pipelines/runtime.yml
@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-extra-platforms

@azure-pipelines

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

@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/ba-g known issues #125440#126183#126356#126455#126456#126457#126458#126459#126460#126461#126462#126463

None of these failures should be related to this PR and will be fixed in follow-ups. Proceeding with this PR in an effort to reduce load in queues and reduce noise/redundant builds

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

7 participants

@kotlarmilos@vitek-karas@rolfbjarne@matouskozak@steveisok@agocke
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Reduce Apple mobile CI matrix - #125441

Merged
kotlarmilos merged 36 commits into
dotnet:mainfrom
kotlarmilos:reduce-apple-ci-matrix
Apr 2, 2026
Merged

Reduce Apple mobile CI matrix#125441
kotlarmilos merged 36 commits into
dotnet:mainfrom
kotlarmilos:reduce-apple-ci-matrix

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented Mar 11, 2026

Copy link
Copy Markdown
Member

Description

Reduce the Apple mobile CI test matrix to mitigate macOS queue congestion and align with the default scenarios.

What runs where

runtime.yml — iossimulator + maccatalyst arm64 smoke (6 jobs)

PlatformRuntimeTest typeConfig
iossimulator_arm64MonoLibrary smokeRelease
iossimulator_arm64NativeAOTLibrary smokeRelease
iossimulator_arm64CoreCLRLibrary smokeRelease
maccatalyst_arm64MonoLibrary smokeRelease
maccatalyst_arm64NativeAOTLibrary smokeRelease
maccatalyst_arm64CoreCLRLibrary smokeRelease

runtime-extra-platforms-ioslike.yml — tvos full + Debug smoke (6 jobs)

PlatformRuntimeTest typeConfig
tvos_arm64MonoLibrary testsRelease
tvos_arm64MonoRuntime testsRelease
tvos_arm64NativeAOTLibrary smokeRelease
tvos_arm64CoreCLRLibrary testsRelease
tvos_arm64CoreCLRRuntime testsRelease
tvos_arm64CoreCLRLibrary smokeDebug

runtime-extra-platforms-ioslikesimulator.yml — iossimulator Release + Debug smoke (9 jobs)

PlatformRuntimeTest typeConfig
iossimulator_x64, iossimulator_arm64MonoLibrary testsRelease
iossimulator_arm64MonoRuntime testsRelease
iossimulator_x64, iossimulator_arm64NativeAOTLibrary smokeRelease
iossimulator_x64, iossimulator_arm64CoreCLRLibrary testsRelease
iossimulator_arm64CoreCLRRuntime testsRelease
iossimulator_arm64CoreCLRLibrary smokeDebug

runtime-extra-platforms-maccatalyst.yml — maccatalyst full + Debug smoke (12 jobs)

PlatformRuntimeTest typeConfig
maccatalyst_x64, maccatalyst_arm64MonoLibrary testsRelease
maccatalyst_arm64MonoRuntime testsRelease
maccatalyst_arm64MonoLibrary smoke (AppSandbox)Release
maccatalyst_x64, maccatalyst_arm64NativeAOTLibrary smokeRelease
maccatalyst_arm64NativeAOTLibrary smoke (AppSandbox)Release
maccatalyst_x64, maccatalyst_arm64CoreCLRLibrary testsRelease
maccatalyst_arm64CoreCLRRuntime testsRelease
maccatalyst_arm64CoreCLRLibrary smoke (AppSandbox)Release
maccatalyst_arm64CoreCLRLibrary smokeDebug

Other changes

  • Re-enabled 3 tvOS test suites that were previously excluded due to mysterious crashes (System.IO.Hashing.Tests, System.IO.MemoryMappedFiles.Tests, System.Runtime.Numerics.Tests)
  • Entries reordered consistently: Mono → NativeAOT → CoreCLR, library → runtime within each group

CopilotAI review requested due to automatic review settings March 11, 2026 13:52
@kotlarmiloskotlarmilos changed the title Reduce Apple mobile CI matrix to alleviate macOS queue congestionReduce Apple mobile CI matrixMar 11, 2026

CopilotAI 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

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.

FileDescription
eng/pipelines/runtime.ymlRemoves tvOS device and MacCatalyst smoke jobs from the default runtime pipeline’s Apple-mobile matrix.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.ymlRemoves iOS device runs so iOS-like device testing is tvOS-only in extra-platforms.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.ymlNarrows simulator jobs to iOS simulator, switches to Debug, and drops NativeAOT simulator runtime tests.
eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.ymlDrops MacCatalyst x64 from extra-platforms, leaving arm64 only.

You can also share your feedback on Copilot code review. Take the survey.

Comment threadeng/pipelines/runtime.yml
Comment threadeng/pipelines/runtime.yml
@vitek-karas

Copy link
Copy Markdown
Member

I didn't look at the existing coverage, so maybe this is already covered:

  • I think we should have at least some basic testing of Release builds running on simulators (simulator is different enough platform from iOS, such that it warrants at least basic coverage)
  • Similarly we should have at least basic coverage for running Debug builds on real devices (while not as common, it IS a scenario for users) - this should include both iOS and tvOS devices.
  • macCatalyst - we should have some coverage for both Debug and Release (since both are scenarios for that target)

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>
Comment threadeng/pipelines/runtime.yml
CopilotAI review requested due to automatic review settings March 12, 2026 10:01

CopilotAI 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 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.

CopilotAI review requested due to automatic review settings March 12, 2026 10:16

CopilotAI 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 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.

Comment threadeng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml Outdated
Comment threadsrc/libraries/tests.proj
kotlarmilosand others added 4 commits March 12, 2026 11:24
- 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
CopilotAI review requested due to automatic review settings March 12, 2026 11:07
CopilotAI review requested due to automatic review settings April 1, 2026 20:00

CopilotAI 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 8 out of 8 changed files in this pull request and generated 2 comments.

Comment threadeng/pipelines/runtime.yml
@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-extra-platforms

@azure-pipelines

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

@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

/ba-g known issues #125440#126183#126356#126455#126456#126457#126458#126459#126460#126461#126462#126463

None of these failures should be related to this PR and will be fixed in follow-ups. Proceeding with this PR in an effort to reduce load in queues and reduce noise/redundant builds

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

7 participants

@kotlarmilos@vitek-karas@rolfbjarne@matouskozak@steveisok@agocke