[ios-clr] Disable Debug CoreCLR smoke jobs on Apple mobile and enable aggressive trimming in Release - #127054

Merged
kotlarmilos merged 2 commits into
dotnet:mainfrom
kotlarmilos:ios-clr/pr-a-pipelines
Apr 20, 2026
Merged

[ios-clr] Disable Debug CoreCLR smoke jobs on Apple mobile and enable aggressive trimming in Release#127054
kotlarmilos merged 2 commits into
dotnet:mainfrom
kotlarmilos:ios-clr/pr-a-pipelines

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented Apr 17, 2026

Copy link
Copy Markdown
Member

Description

Part of splitting #125439 into smaller, self-contained PRs.

The Debug AllSubsets_CoreCLR_Smoke jobs for tvOS, iOSSimulator, and MacCatalyst are unstable and tracked in #124344. In the corresponding Release jobs, enable EnableAggressiveTrimming and EnableAdditionalTimezoneChecks so CI tests the trimmed library build path that ships to customers.

… aggressive trimming in Release
The Debug AllSubsets_CoreCLR_Smoke jobs for tvOS, iOSSimulator, and
MacCatalyst are unstable and tracked in
dotnet#124344; comment them out until
the underlying issues are resolved.
In the corresponding Release jobs, enable EnableAggressiveTrimming and
EnableAdditionalTimezoneChecks so CI exercises the trimmed library build
path that ships to customers.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

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

This PR adjusts the Apple “extra-platforms” Azure Pipelines definitions to reduce CI instability on Debug CoreCLR smoke lanes while increasing Release coverage of the trimmed/shipping-like build path for CoreCLR on Apple mobile targets.

Changes:

  • Comment out Debug AllSubsets_CoreCLR_Smoke jobs for tvOS, iOSSimulator, and MacCatalyst (with a tracking issue reference).
  • Enable /p:EnableAggressiveTrimming=true and /p:EnableAdditionalTimezoneChecks=true on the relevant Release CoreCLR library test jobs.

Reviewed changes

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

FileDescription
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.ymlDisables the tvOS Debug CoreCLR smoke job and references the tracking issue.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.ymlDisables the iOSSimulator Debug CoreCLR smoke job; enables aggressive trimming + additional timezone checks on the Release CoreCLR job.
eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.ymlDisables the MacCatalyst Debug CoreCLR smoke job; enables aggressive trimming + additional timezone checks on the Release AppSandbox CoreCLR job.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to 'os-ios': @vitek-karas, @kotlarmilos, @steveisok, @akoeplinger
See info in area-owners.md if you want to be subscribed.

@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 #127154

@kotlarmilos
kotlarmilos merged commit 2a121b7 into dotnet:mainApr 20, 2026
201 of 233 checks passed
tarekgh added a commit that referenced this pull request Apr 28, 2026
…127465)
> [!NOTE]
> This PR was AI/Copilot-generated.
## Summary
The aggressive trimming test exclusion condition in
\src/libraries/tests.proj\ only checked for \ios\, \ vos\, and
\maccatalyst\ TargetOS values, missing \iossimulator\ and \
vossimulator\. This caused trimming-sensitive tests to run — and fail —
on iOS CoreCLR simulator Release builds where
\EnableAggressiveTrimming=true\ was recently enabled by #127054.
## Root Cause
PR #127054 (April 20) enabled \EnableAggressiveTrimming=true\ for iOS
CoreCLR simulator Release builds. Aggressive trimming strips EventSource
reflection metadata (\ParameterInfo[]\), causing \PayloadNames\ to throw
\NullReferenceException\ when accessed.
The test exclusion at line 381 of \	ests.proj\ had three clauses:
1. Non-browser AOT builds → catches Mono AOT ✅
2. Browser/WASM AOT builds → catches WASM ✅ 3. Apple mobile with \BuildTestsOnHelix=true\ → **only checked \ios\, \
vos\, \maccatalyst\** ❌
For simulator builds, \TargetOS\ is \iossimulator\ or \ vossimulator\
(not \ios\/\ vos\), confirmed by \�ng/RuntimeIdentifier.props:61-63\. So
the exclusion didn't match, and 8+ trimming-sensitive tests ran and
failed with NRE.
## Fix
Replace the explicit TargetOS list with the \TargetsAppleMobile\
property (defined in \�ng/OSArch.props\), which covers all five Apple
mobile targets (\ios\, \iossimulator\, \ vos\, \ vossimulator\,
\maccatalyst\) and is already used elsewhere in the same file (lines
303, 337, 654, 765).
Fixes#127449
Related: #127448 (DI/Hosting failures on same build — same root cause)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actionsgithub-actionsBot locked and limited conversation to collaborators May 21, 2026
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.

4 participants

@kotlarmilos@jkoritzinsky@matouskozak
, '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

[ios-clr] Disable Debug CoreCLR smoke jobs on Apple mobile and enable aggressive trimming in Release - #127054

Merged
kotlarmilos merged 2 commits into
dotnet:mainfrom
kotlarmilos:ios-clr/pr-a-pipelines
Apr 20, 2026
Merged

[ios-clr] Disable Debug CoreCLR smoke jobs on Apple mobile and enable aggressive trimming in Release#127054
kotlarmilos merged 2 commits into
dotnet:mainfrom
kotlarmilos:ios-clr/pr-a-pipelines

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented Apr 17, 2026

Copy link
Copy Markdown
Member

Description

Part of splitting #125439 into smaller, self-contained PRs.

The Debug AllSubsets_CoreCLR_Smoke jobs for tvOS, iOSSimulator, and MacCatalyst are unstable and tracked in #124344. In the corresponding Release jobs, enable EnableAggressiveTrimming and EnableAdditionalTimezoneChecks so CI tests the trimmed library build path that ships to customers.

… aggressive trimming in Release
The Debug AllSubsets_CoreCLR_Smoke jobs for tvOS, iOSSimulator, and
MacCatalyst are unstable and tracked in
dotnet#124344; comment them out until
the underlying issues are resolved.
In the corresponding Release jobs, enable EnableAggressiveTrimming and
EnableAdditionalTimezoneChecks so CI exercises the trimmed library build
path that ships to customers.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

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

This PR adjusts the Apple “extra-platforms” Azure Pipelines definitions to reduce CI instability on Debug CoreCLR smoke lanes while increasing Release coverage of the trimmed/shipping-like build path for CoreCLR on Apple mobile targets.

Changes:

  • Comment out Debug AllSubsets_CoreCLR_Smoke jobs for tvOS, iOSSimulator, and MacCatalyst (with a tracking issue reference).
  • Enable /p:EnableAggressiveTrimming=true and /p:EnableAdditionalTimezoneChecks=true on the relevant Release CoreCLR library test jobs.

Reviewed changes

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

FileDescription
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.ymlDisables the tvOS Debug CoreCLR smoke job and references the tracking issue.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.ymlDisables the iOSSimulator Debug CoreCLR smoke job; enables aggressive trimming + additional timezone checks on the Release CoreCLR job.
eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.ymlDisables the MacCatalyst Debug CoreCLR smoke job; enables aggressive trimming + additional timezone checks on the Release AppSandbox CoreCLR job.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to 'os-ios': @vitek-karas, @kotlarmilos, @steveisok, @akoeplinger
See info in area-owners.md if you want to be subscribed.

@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 #127154

@kotlarmilos
kotlarmilos merged commit 2a121b7 into dotnet:mainApr 20, 2026
201 of 233 checks passed
tarekgh added a commit that referenced this pull request Apr 28, 2026
…127465)
> [!NOTE]
> This PR was AI/Copilot-generated.
## Summary
The aggressive trimming test exclusion condition in
\src/libraries/tests.proj\ only checked for \ios\, \ vos\, and
\maccatalyst\ TargetOS values, missing \iossimulator\ and \
vossimulator\. This caused trimming-sensitive tests to run — and fail —
on iOS CoreCLR simulator Release builds where
\EnableAggressiveTrimming=true\ was recently enabled by #127054.
## Root Cause
PR #127054 (April 20) enabled \EnableAggressiveTrimming=true\ for iOS
CoreCLR simulator Release builds. Aggressive trimming strips EventSource
reflection metadata (\ParameterInfo[]\), causing \PayloadNames\ to throw
\NullReferenceException\ when accessed.
The test exclusion at line 381 of \	ests.proj\ had three clauses:
1. Non-browser AOT builds → catches Mono AOT ✅
2. Browser/WASM AOT builds → catches WASM ✅ 3. Apple mobile with \BuildTestsOnHelix=true\ → **only checked \ios\, \
vos\, \maccatalyst\** ❌
For simulator builds, \TargetOS\ is \iossimulator\ or \ vossimulator\
(not \ios\/\ vos\), confirmed by \�ng/RuntimeIdentifier.props:61-63\. So
the exclusion didn't match, and 8+ trimming-sensitive tests ran and
failed with NRE.
## Fix
Replace the explicit TargetOS list with the \TargetsAppleMobile\
property (defined in \�ng/OSArch.props\), which covers all five Apple
mobile targets (\ios\, \iossimulator\, \ vos\, \ vossimulator\,
\maccatalyst\) and is already used elsewhere in the same file (lines
303, 337, 654, 765).
Fixes#127449
Related: #127448 (DI/Hosting failures on same build — same root cause)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actionsgithub-actionsBot locked and limited conversation to collaborators May 21, 2026
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.

4 participants

@kotlarmilos@jkoritzinsky@matouskozak
, '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

[ios-clr] Disable Debug CoreCLR smoke jobs on Apple mobile and enable aggressive trimming in Release - #127054

Merged
kotlarmilos merged 2 commits into
dotnet:mainfrom
kotlarmilos:ios-clr/pr-a-pipelines
Apr 20, 2026
Merged

[ios-clr] Disable Debug CoreCLR smoke jobs on Apple mobile and enable aggressive trimming in Release#127054
kotlarmilos merged 2 commits into
dotnet:mainfrom
kotlarmilos:ios-clr/pr-a-pipelines

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented Apr 17, 2026

Copy link
Copy Markdown
Member

Description

Part of splitting #125439 into smaller, self-contained PRs.

The Debug AllSubsets_CoreCLR_Smoke jobs for tvOS, iOSSimulator, and MacCatalyst are unstable and tracked in #124344. In the corresponding Release jobs, enable EnableAggressiveTrimming and EnableAdditionalTimezoneChecks so CI tests the trimmed library build path that ships to customers.

… aggressive trimming in Release
The Debug AllSubsets_CoreCLR_Smoke jobs for tvOS, iOSSimulator, and
MacCatalyst are unstable and tracked in
dotnet#124344; comment them out until
the underlying issues are resolved.
In the corresponding Release jobs, enable EnableAggressiveTrimming and
EnableAdditionalTimezoneChecks so CI exercises the trimmed library build
path that ships to customers.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

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

This PR adjusts the Apple “extra-platforms” Azure Pipelines definitions to reduce CI instability on Debug CoreCLR smoke lanes while increasing Release coverage of the trimmed/shipping-like build path for CoreCLR on Apple mobile targets.

Changes:

  • Comment out Debug AllSubsets_CoreCLR_Smoke jobs for tvOS, iOSSimulator, and MacCatalyst (with a tracking issue reference).
  • Enable /p:EnableAggressiveTrimming=true and /p:EnableAdditionalTimezoneChecks=true on the relevant Release CoreCLR library test jobs.

Reviewed changes

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

FileDescription
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.ymlDisables the tvOS Debug CoreCLR smoke job and references the tracking issue.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.ymlDisables the iOSSimulator Debug CoreCLR smoke job; enables aggressive trimming + additional timezone checks on the Release CoreCLR job.
eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.ymlDisables the MacCatalyst Debug CoreCLR smoke job; enables aggressive trimming + additional timezone checks on the Release AppSandbox CoreCLR job.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to 'os-ios': @vitek-karas, @kotlarmilos, @steveisok, @akoeplinger
See info in area-owners.md if you want to be subscribed.

@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 #127154

@kotlarmilos
kotlarmilos merged commit 2a121b7 into dotnet:mainApr 20, 2026
201 of 233 checks passed
tarekgh added a commit that referenced this pull request Apr 28, 2026
…127465)
> [!NOTE]
> This PR was AI/Copilot-generated.
## Summary
The aggressive trimming test exclusion condition in
\src/libraries/tests.proj\ only checked for \ios\, \ vos\, and
\maccatalyst\ TargetOS values, missing \iossimulator\ and \
vossimulator\. This caused trimming-sensitive tests to run — and fail —
on iOS CoreCLR simulator Release builds where
\EnableAggressiveTrimming=true\ was recently enabled by #127054.
## Root Cause
PR #127054 (April 20) enabled \EnableAggressiveTrimming=true\ for iOS
CoreCLR simulator Release builds. Aggressive trimming strips EventSource
reflection metadata (\ParameterInfo[]\), causing \PayloadNames\ to throw
\NullReferenceException\ when accessed.
The test exclusion at line 381 of \	ests.proj\ had three clauses:
1. Non-browser AOT builds → catches Mono AOT ✅
2. Browser/WASM AOT builds → catches WASM ✅ 3. Apple mobile with \BuildTestsOnHelix=true\ → **only checked \ios\, \
vos\, \maccatalyst\** ❌
For simulator builds, \TargetOS\ is \iossimulator\ or \ vossimulator\
(not \ios\/\ vos\), confirmed by \�ng/RuntimeIdentifier.props:61-63\. So
the exclusion didn't match, and 8+ trimming-sensitive tests ran and
failed with NRE.
## Fix
Replace the explicit TargetOS list with the \TargetsAppleMobile\
property (defined in \�ng/OSArch.props\), which covers all five Apple
mobile targets (\ios\, \iossimulator\, \ vos\, \ vossimulator\,
\maccatalyst\) and is already used elsewhere in the same file (lines
303, 337, 654, 765).
Fixes#127449
Related: #127448 (DI/Hosting failures on same build — same root cause)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actionsgithub-actionsBot locked and limited conversation to collaborators May 21, 2026
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.

4 participants

@kotlarmilos@jkoritzinsky@matouskozak
, '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

[ios-clr] Disable Debug CoreCLR smoke jobs on Apple mobile and enable aggressive trimming in Release - #127054

Merged
kotlarmilos merged 2 commits into
dotnet:mainfrom
kotlarmilos:ios-clr/pr-a-pipelines
Apr 20, 2026
Merged

[ios-clr] Disable Debug CoreCLR smoke jobs on Apple mobile and enable aggressive trimming in Release#127054
kotlarmilos merged 2 commits into
dotnet:mainfrom
kotlarmilos:ios-clr/pr-a-pipelines

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented Apr 17, 2026

Copy link
Copy Markdown
Member

Description

Part of splitting #125439 into smaller, self-contained PRs.

The Debug AllSubsets_CoreCLR_Smoke jobs for tvOS, iOSSimulator, and MacCatalyst are unstable and tracked in #124344. In the corresponding Release jobs, enable EnableAggressiveTrimming and EnableAdditionalTimezoneChecks so CI tests the trimmed library build path that ships to customers.

… aggressive trimming in Release
The Debug AllSubsets_CoreCLR_Smoke jobs for tvOS, iOSSimulator, and
MacCatalyst are unstable and tracked in
dotnet#124344; comment them out until
the underlying issues are resolved.
In the corresponding Release jobs, enable EnableAggressiveTrimming and
EnableAdditionalTimezoneChecks so CI exercises the trimmed library build
path that ships to customers.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

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

This PR adjusts the Apple “extra-platforms” Azure Pipelines definitions to reduce CI instability on Debug CoreCLR smoke lanes while increasing Release coverage of the trimmed/shipping-like build path for CoreCLR on Apple mobile targets.

Changes:

  • Comment out Debug AllSubsets_CoreCLR_Smoke jobs for tvOS, iOSSimulator, and MacCatalyst (with a tracking issue reference).
  • Enable /p:EnableAggressiveTrimming=true and /p:EnableAdditionalTimezoneChecks=true on the relevant Release CoreCLR library test jobs.

Reviewed changes

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

FileDescription
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.ymlDisables the tvOS Debug CoreCLR smoke job and references the tracking issue.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.ymlDisables the iOSSimulator Debug CoreCLR smoke job; enables aggressive trimming + additional timezone checks on the Release CoreCLR job.
eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.ymlDisables the MacCatalyst Debug CoreCLR smoke job; enables aggressive trimming + additional timezone checks on the Release AppSandbox CoreCLR job.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to 'os-ios': @vitek-karas, @kotlarmilos, @steveisok, @akoeplinger
See info in area-owners.md if you want to be subscribed.

@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 #127154

@kotlarmilos
kotlarmilos merged commit 2a121b7 into dotnet:mainApr 20, 2026
201 of 233 checks passed
tarekgh added a commit that referenced this pull request Apr 28, 2026
…127465)
> [!NOTE]
> This PR was AI/Copilot-generated.
## Summary
The aggressive trimming test exclusion condition in
\src/libraries/tests.proj\ only checked for \ios\, \ vos\, and
\maccatalyst\ TargetOS values, missing \iossimulator\ and \
vossimulator\. This caused trimming-sensitive tests to run — and fail —
on iOS CoreCLR simulator Release builds where
\EnableAggressiveTrimming=true\ was recently enabled by #127054.
## Root Cause
PR #127054 (April 20) enabled \EnableAggressiveTrimming=true\ for iOS
CoreCLR simulator Release builds. Aggressive trimming strips EventSource
reflection metadata (\ParameterInfo[]\), causing \PayloadNames\ to throw
\NullReferenceException\ when accessed.
The test exclusion at line 381 of \	ests.proj\ had three clauses:
1. Non-browser AOT builds → catches Mono AOT ✅
2. Browser/WASM AOT builds → catches WASM ✅ 3. Apple mobile with \BuildTestsOnHelix=true\ → **only checked \ios\, \
vos\, \maccatalyst\** ❌
For simulator builds, \TargetOS\ is \iossimulator\ or \ vossimulator\
(not \ios\/\ vos\), confirmed by \�ng/RuntimeIdentifier.props:61-63\. So
the exclusion didn't match, and 8+ trimming-sensitive tests ran and
failed with NRE.
## Fix
Replace the explicit TargetOS list with the \TargetsAppleMobile\
property (defined in \�ng/OSArch.props\), which covers all five Apple
mobile targets (\ios\, \iossimulator\, \ vos\, \ vossimulator\,
\maccatalyst\) and is already used elsewhere in the same file (lines
303, 337, 654, 765).
Fixes#127449
Related: #127448 (DI/Hosting failures on same build — same root cause)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actionsgithub-actionsBot locked and limited conversation to collaborators May 21, 2026
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.

4 participants

@kotlarmilos@jkoritzinsky@matouskozak
, '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

[ios-clr] Disable Debug CoreCLR smoke jobs on Apple mobile and enable aggressive trimming in Release - #127054

Merged
kotlarmilos merged 2 commits into
dotnet:mainfrom
kotlarmilos:ios-clr/pr-a-pipelines
Apr 20, 2026
Merged

[ios-clr] Disable Debug CoreCLR smoke jobs on Apple mobile and enable aggressive trimming in Release#127054
kotlarmilos merged 2 commits into
dotnet:mainfrom
kotlarmilos:ios-clr/pr-a-pipelines

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented Apr 17, 2026

Copy link
Copy Markdown
Member

Description

Part of splitting #125439 into smaller, self-contained PRs.

The Debug AllSubsets_CoreCLR_Smoke jobs for tvOS, iOSSimulator, and MacCatalyst are unstable and tracked in #124344. In the corresponding Release jobs, enable EnableAggressiveTrimming and EnableAdditionalTimezoneChecks so CI tests the trimmed library build path that ships to customers.

… aggressive trimming in Release
The Debug AllSubsets_CoreCLR_Smoke jobs for tvOS, iOSSimulator, and
MacCatalyst are unstable and tracked in
dotnet#124344; comment them out until
the underlying issues are resolved.
In the corresponding Release jobs, enable EnableAggressiveTrimming and
EnableAdditionalTimezoneChecks so CI exercises the trimmed library build
path that ships to customers.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

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

This PR adjusts the Apple “extra-platforms” Azure Pipelines definitions to reduce CI instability on Debug CoreCLR smoke lanes while increasing Release coverage of the trimmed/shipping-like build path for CoreCLR on Apple mobile targets.

Changes:

  • Comment out Debug AllSubsets_CoreCLR_Smoke jobs for tvOS, iOSSimulator, and MacCatalyst (with a tracking issue reference).
  • Enable /p:EnableAggressiveTrimming=true and /p:EnableAdditionalTimezoneChecks=true on the relevant Release CoreCLR library test jobs.

Reviewed changes

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

FileDescription
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.ymlDisables the tvOS Debug CoreCLR smoke job and references the tracking issue.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.ymlDisables the iOSSimulator Debug CoreCLR smoke job; enables aggressive trimming + additional timezone checks on the Release CoreCLR job.
eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.ymlDisables the MacCatalyst Debug CoreCLR smoke job; enables aggressive trimming + additional timezone checks on the Release AppSandbox CoreCLR job.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to 'os-ios': @vitek-karas, @kotlarmilos, @steveisok, @akoeplinger
See info in area-owners.md if you want to be subscribed.

@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 #127154

@kotlarmilos
kotlarmilos merged commit 2a121b7 into dotnet:mainApr 20, 2026
201 of 233 checks passed
tarekgh added a commit that referenced this pull request Apr 28, 2026
…127465)
> [!NOTE]
> This PR was AI/Copilot-generated.
## Summary
The aggressive trimming test exclusion condition in
\src/libraries/tests.proj\ only checked for \ios\, \ vos\, and
\maccatalyst\ TargetOS values, missing \iossimulator\ and \
vossimulator\. This caused trimming-sensitive tests to run — and fail —
on iOS CoreCLR simulator Release builds where
\EnableAggressiveTrimming=true\ was recently enabled by #127054.
## Root Cause
PR #127054 (April 20) enabled \EnableAggressiveTrimming=true\ for iOS
CoreCLR simulator Release builds. Aggressive trimming strips EventSource
reflection metadata (\ParameterInfo[]\), causing \PayloadNames\ to throw
\NullReferenceException\ when accessed.
The test exclusion at line 381 of \	ests.proj\ had three clauses:
1. Non-browser AOT builds → catches Mono AOT ✅
2. Browser/WASM AOT builds → catches WASM ✅ 3. Apple mobile with \BuildTestsOnHelix=true\ → **only checked \ios\, \
vos\, \maccatalyst\** ❌
For simulator builds, \TargetOS\ is \iossimulator\ or \ vossimulator\
(not \ios\/\ vos\), confirmed by \�ng/RuntimeIdentifier.props:61-63\. So
the exclusion didn't match, and 8+ trimming-sensitive tests ran and
failed with NRE.
## Fix
Replace the explicit TargetOS list with the \TargetsAppleMobile\
property (defined in \�ng/OSArch.props\), which covers all five Apple
mobile targets (\ios\, \iossimulator\, \ vos\, \ vossimulator\,
\maccatalyst\) and is already used elsewhere in the same file (lines
303, 337, 654, 765).
Fixes#127449
Related: #127448 (DI/Hosting failures on same build — same root cause)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actionsgithub-actionsBot locked and limited conversation to collaborators May 21, 2026
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.

4 participants

@kotlarmilos@jkoritzinsky@matouskozak
, '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

[ios-clr] Disable Debug CoreCLR smoke jobs on Apple mobile and enable aggressive trimming in Release - #127054

Merged
kotlarmilos merged 2 commits into
dotnet:mainfrom
kotlarmilos:ios-clr/pr-a-pipelines
Apr 20, 2026
Merged

[ios-clr] Disable Debug CoreCLR smoke jobs on Apple mobile and enable aggressive trimming in Release#127054
kotlarmilos merged 2 commits into
dotnet:mainfrom
kotlarmilos:ios-clr/pr-a-pipelines

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented Apr 17, 2026

Copy link
Copy Markdown
Member

Description

Part of splitting #125439 into smaller, self-contained PRs.

The Debug AllSubsets_CoreCLR_Smoke jobs for tvOS, iOSSimulator, and MacCatalyst are unstable and tracked in #124344. In the corresponding Release jobs, enable EnableAggressiveTrimming and EnableAdditionalTimezoneChecks so CI tests the trimmed library build path that ships to customers.

… aggressive trimming in Release
The Debug AllSubsets_CoreCLR_Smoke jobs for tvOS, iOSSimulator, and
MacCatalyst are unstable and tracked in
dotnet#124344; comment them out until
the underlying issues are resolved.
In the corresponding Release jobs, enable EnableAggressiveTrimming and
EnableAdditionalTimezoneChecks so CI exercises the trimmed library build
path that ships to customers.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

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

This PR adjusts the Apple “extra-platforms” Azure Pipelines definitions to reduce CI instability on Debug CoreCLR smoke lanes while increasing Release coverage of the trimmed/shipping-like build path for CoreCLR on Apple mobile targets.

Changes:

  • Comment out Debug AllSubsets_CoreCLR_Smoke jobs for tvOS, iOSSimulator, and MacCatalyst (with a tracking issue reference).
  • Enable /p:EnableAggressiveTrimming=true and /p:EnableAdditionalTimezoneChecks=true on the relevant Release CoreCLR library test jobs.

Reviewed changes

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

FileDescription
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.ymlDisables the tvOS Debug CoreCLR smoke job and references the tracking issue.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.ymlDisables the iOSSimulator Debug CoreCLR smoke job; enables aggressive trimming + additional timezone checks on the Release CoreCLR job.
eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.ymlDisables the MacCatalyst Debug CoreCLR smoke job; enables aggressive trimming + additional timezone checks on the Release AppSandbox CoreCLR job.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to 'os-ios': @vitek-karas, @kotlarmilos, @steveisok, @akoeplinger
See info in area-owners.md if you want to be subscribed.

@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 #127154

@kotlarmilos
kotlarmilos merged commit 2a121b7 into dotnet:mainApr 20, 2026
201 of 233 checks passed
tarekgh added a commit that referenced this pull request Apr 28, 2026
…127465)
> [!NOTE]
> This PR was AI/Copilot-generated.
## Summary
The aggressive trimming test exclusion condition in
\src/libraries/tests.proj\ only checked for \ios\, \ vos\, and
\maccatalyst\ TargetOS values, missing \iossimulator\ and \
vossimulator\. This caused trimming-sensitive tests to run — and fail —
on iOS CoreCLR simulator Release builds where
\EnableAggressiveTrimming=true\ was recently enabled by #127054.
## Root Cause
PR #127054 (April 20) enabled \EnableAggressiveTrimming=true\ for iOS
CoreCLR simulator Release builds. Aggressive trimming strips EventSource
reflection metadata (\ParameterInfo[]\), causing \PayloadNames\ to throw
\NullReferenceException\ when accessed.
The test exclusion at line 381 of \	ests.proj\ had three clauses:
1. Non-browser AOT builds → catches Mono AOT ✅
2. Browser/WASM AOT builds → catches WASM ✅ 3. Apple mobile with \BuildTestsOnHelix=true\ → **only checked \ios\, \
vos\, \maccatalyst\** ❌
For simulator builds, \TargetOS\ is \iossimulator\ or \ vossimulator\
(not \ios\/\ vos\), confirmed by \�ng/RuntimeIdentifier.props:61-63\. So
the exclusion didn't match, and 8+ trimming-sensitive tests ran and
failed with NRE.
## Fix
Replace the explicit TargetOS list with the \TargetsAppleMobile\
property (defined in \�ng/OSArch.props\), which covers all five Apple
mobile targets (\ios\, \iossimulator\, \ vos\, \ vossimulator\,
\maccatalyst\) and is already used elsewhere in the same file (lines
303, 337, 654, 765).
Fixes#127449
Related: #127448 (DI/Hosting failures on same build — same root cause)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actionsgithub-actionsBot locked and limited conversation to collaborators May 21, 2026
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.

4 participants

@kotlarmilos@jkoritzinsky@matouskozak
, '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

[ios-clr] Disable Debug CoreCLR smoke jobs on Apple mobile and enable aggressive trimming in Release - #127054

Merged
kotlarmilos merged 2 commits into
dotnet:mainfrom
kotlarmilos:ios-clr/pr-a-pipelines
Apr 20, 2026
Merged

[ios-clr] Disable Debug CoreCLR smoke jobs on Apple mobile and enable aggressive trimming in Release#127054
kotlarmilos merged 2 commits into
dotnet:mainfrom
kotlarmilos:ios-clr/pr-a-pipelines

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented Apr 17, 2026

Copy link
Copy Markdown
Member

Description

Part of splitting #125439 into smaller, self-contained PRs.

The Debug AllSubsets_CoreCLR_Smoke jobs for tvOS, iOSSimulator, and MacCatalyst are unstable and tracked in #124344. In the corresponding Release jobs, enable EnableAggressiveTrimming and EnableAdditionalTimezoneChecks so CI tests the trimmed library build path that ships to customers.

… aggressive trimming in Release
The Debug AllSubsets_CoreCLR_Smoke jobs for tvOS, iOSSimulator, and
MacCatalyst are unstable and tracked in
dotnet#124344; comment them out until
the underlying issues are resolved.
In the corresponding Release jobs, enable EnableAggressiveTrimming and
EnableAdditionalTimezoneChecks so CI exercises the trimmed library build
path that ships to customers.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

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

This PR adjusts the Apple “extra-platforms” Azure Pipelines definitions to reduce CI instability on Debug CoreCLR smoke lanes while increasing Release coverage of the trimmed/shipping-like build path for CoreCLR on Apple mobile targets.

Changes:

  • Comment out Debug AllSubsets_CoreCLR_Smoke jobs for tvOS, iOSSimulator, and MacCatalyst (with a tracking issue reference).
  • Enable /p:EnableAggressiveTrimming=true and /p:EnableAdditionalTimezoneChecks=true on the relevant Release CoreCLR library test jobs.

Reviewed changes

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

FileDescription
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.ymlDisables the tvOS Debug CoreCLR smoke job and references the tracking issue.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.ymlDisables the iOSSimulator Debug CoreCLR smoke job; enables aggressive trimming + additional timezone checks on the Release CoreCLR job.
eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.ymlDisables the MacCatalyst Debug CoreCLR smoke job; enables aggressive trimming + additional timezone checks on the Release AppSandbox CoreCLR job.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to 'os-ios': @vitek-karas, @kotlarmilos, @steveisok, @akoeplinger
See info in area-owners.md if you want to be subscribed.

@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 #127154

@kotlarmilos
kotlarmilos merged commit 2a121b7 into dotnet:mainApr 20, 2026
201 of 233 checks passed
tarekgh added a commit that referenced this pull request Apr 28, 2026
…127465)
> [!NOTE]
> This PR was AI/Copilot-generated.
## Summary
The aggressive trimming test exclusion condition in
\src/libraries/tests.proj\ only checked for \ios\, \ vos\, and
\maccatalyst\ TargetOS values, missing \iossimulator\ and \
vossimulator\. This caused trimming-sensitive tests to run — and fail —
on iOS CoreCLR simulator Release builds where
\EnableAggressiveTrimming=true\ was recently enabled by #127054.
## Root Cause
PR #127054 (April 20) enabled \EnableAggressiveTrimming=true\ for iOS
CoreCLR simulator Release builds. Aggressive trimming strips EventSource
reflection metadata (\ParameterInfo[]\), causing \PayloadNames\ to throw
\NullReferenceException\ when accessed.
The test exclusion at line 381 of \	ests.proj\ had three clauses:
1. Non-browser AOT builds → catches Mono AOT ✅
2. Browser/WASM AOT builds → catches WASM ✅ 3. Apple mobile with \BuildTestsOnHelix=true\ → **only checked \ios\, \
vos\, \maccatalyst\** ❌
For simulator builds, \TargetOS\ is \iossimulator\ or \ vossimulator\
(not \ios\/\ vos\), confirmed by \�ng/RuntimeIdentifier.props:61-63\. So
the exclusion didn't match, and 8+ trimming-sensitive tests ran and
failed with NRE.
## Fix
Replace the explicit TargetOS list with the \TargetsAppleMobile\
property (defined in \�ng/OSArch.props\), which covers all five Apple
mobile targets (\ios\, \iossimulator\, \ vos\, \ vossimulator\,
\maccatalyst\) and is already used elsewhere in the same file (lines
303, 337, 654, 765).
Fixes#127449
Related: #127448 (DI/Hosting failures on same build — same root cause)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actionsgithub-actionsBot locked and limited conversation to collaborators May 21, 2026
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.

4 participants

@kotlarmilos@jkoritzinsky@matouskozak
, '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

[ios-clr] Disable Debug CoreCLR smoke jobs on Apple mobile and enable aggressive trimming in Release - #127054

Merged
kotlarmilos merged 2 commits into
dotnet:mainfrom
kotlarmilos:ios-clr/pr-a-pipelines
Apr 20, 2026
Merged

[ios-clr] Disable Debug CoreCLR smoke jobs on Apple mobile and enable aggressive trimming in Release#127054
kotlarmilos merged 2 commits into
dotnet:mainfrom
kotlarmilos:ios-clr/pr-a-pipelines

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented Apr 17, 2026

Copy link
Copy Markdown
Member

Description

Part of splitting #125439 into smaller, self-contained PRs.

The Debug AllSubsets_CoreCLR_Smoke jobs for tvOS, iOSSimulator, and MacCatalyst are unstable and tracked in #124344. In the corresponding Release jobs, enable EnableAggressiveTrimming and EnableAdditionalTimezoneChecks so CI tests the trimmed library build path that ships to customers.

… aggressive trimming in Release
The Debug AllSubsets_CoreCLR_Smoke jobs for tvOS, iOSSimulator, and
MacCatalyst are unstable and tracked in
dotnet#124344; comment them out until
the underlying issues are resolved.
In the corresponding Release jobs, enable EnableAggressiveTrimming and
EnableAdditionalTimezoneChecks so CI exercises the trimmed library build
path that ships to customers.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

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

This PR adjusts the Apple “extra-platforms” Azure Pipelines definitions to reduce CI instability on Debug CoreCLR smoke lanes while increasing Release coverage of the trimmed/shipping-like build path for CoreCLR on Apple mobile targets.

Changes:

  • Comment out Debug AllSubsets_CoreCLR_Smoke jobs for tvOS, iOSSimulator, and MacCatalyst (with a tracking issue reference).
  • Enable /p:EnableAggressiveTrimming=true and /p:EnableAdditionalTimezoneChecks=true on the relevant Release CoreCLR library test jobs.

Reviewed changes

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

FileDescription
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.ymlDisables the tvOS Debug CoreCLR smoke job and references the tracking issue.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.ymlDisables the iOSSimulator Debug CoreCLR smoke job; enables aggressive trimming + additional timezone checks on the Release CoreCLR job.
eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.ymlDisables the MacCatalyst Debug CoreCLR smoke job; enables aggressive trimming + additional timezone checks on the Release AppSandbox CoreCLR job.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to 'os-ios': @vitek-karas, @kotlarmilos, @steveisok, @akoeplinger
See info in area-owners.md if you want to be subscribed.

@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 #127154

@kotlarmilos
kotlarmilos merged commit 2a121b7 into dotnet:mainApr 20, 2026
201 of 233 checks passed
tarekgh added a commit that referenced this pull request Apr 28, 2026
…127465)
> [!NOTE]
> This PR was AI/Copilot-generated.
## Summary
The aggressive trimming test exclusion condition in
\src/libraries/tests.proj\ only checked for \ios\, \ vos\, and
\maccatalyst\ TargetOS values, missing \iossimulator\ and \
vossimulator\. This caused trimming-sensitive tests to run — and fail —
on iOS CoreCLR simulator Release builds where
\EnableAggressiveTrimming=true\ was recently enabled by #127054.
## Root Cause
PR #127054 (April 20) enabled \EnableAggressiveTrimming=true\ for iOS
CoreCLR simulator Release builds. Aggressive trimming strips EventSource
reflection metadata (\ParameterInfo[]\), causing \PayloadNames\ to throw
\NullReferenceException\ when accessed.
The test exclusion at line 381 of \	ests.proj\ had three clauses:
1. Non-browser AOT builds → catches Mono AOT ✅
2. Browser/WASM AOT builds → catches WASM ✅ 3. Apple mobile with \BuildTestsOnHelix=true\ → **only checked \ios\, \
vos\, \maccatalyst\** ❌
For simulator builds, \TargetOS\ is \iossimulator\ or \ vossimulator\
(not \ios\/\ vos\), confirmed by \�ng/RuntimeIdentifier.props:61-63\. So
the exclusion didn't match, and 8+ trimming-sensitive tests ran and
failed with NRE.
## Fix
Replace the explicit TargetOS list with the \TargetsAppleMobile\
property (defined in \�ng/OSArch.props\), which covers all five Apple
mobile targets (\ios\, \iossimulator\, \ vos\, \ vossimulator\,
\maccatalyst\) and is already used elsewhere in the same file (lines
303, 337, 654, 765).
Fixes#127449
Related: #127448 (DI/Hosting failures on same build — same root cause)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actionsgithub-actionsBot locked and limited conversation to collaborators May 21, 2026
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.

4 participants

@kotlarmilos@jkoritzinsky@matouskozak