WIP: [mono][tests] Enable trimming for libraries and functional tests on CI - #92645

Closed
ivanpovazan wants to merge 6 commits into
dotnet:mainfrom
ivanpovazan:mono-trim-tests
Closed

WIP: [mono][tests] Enable trimming for libraries and functional tests on CI#92645
ivanpovazan wants to merge 6 commits into
dotnet:mainfrom
ivanpovazan:mono-trim-tests

Conversation

@ivanpovazan

@ivanpovazanivanpovazan commented Sep 26, 2023

Copy link
Copy Markdown
Member

This PR is currently marked as a DRAFT and is intended just for testing.

Description

The PR will be used to incrementally test enabling trimming for libraries and functional tests when targeting ios/tvos platforms on CI. To enable trimming during test builds we should set: -p:EnableAggressiveTrimming=true, however it was reported that some tests depend on not being trimmed in: #91923 which we should investigate and root/fix the failing tests accordingly.

To run a libraries test locally:

  • build the runtime for a specific target:
    ./build.sh mono+libs -c Release -os ios -arch arm64
  • build/run the test on a specific target (use correct Apple Team ID instead of XXXXXXXX):
    ./dotnet.sh build -c Release src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj -p:TargetOS=ios -p:TargetArchitecture=arm64 -t:Test -p:MonoEnableLLVM=true -p:DevTeamProvisioning=XXXXXXXX

!IMPORTANT!

The initial commits have to be reverted as they disable the default CI triggers, which was done to avoid polluting the queues.
Incremental testing can be done by running: /azp run runtime-ioslike

Tentative plan

  • Fix build on Helix configuration with trimming enabled
  • Fix functional and runtime tests failures with trimming enabled
    • Fix System.Runtime.Numerics.Tests - 3 failing tests
    • Fix System.Runtime.Tests - 11 failing tests
    • Fix iOS.Device.Aot.Test
    • Fix iOS.Device.ExportManagedSymbols.Test
    • Fix any other test failures
  • Measure build/trim times and compare how much we save with this change

Current state ios-arm64 with trimming

Failing work items:

  • System.Runtime.Numerics.Tests - failed tests: 3 - logs
  • System.Runtime.Tests - failed tests: 11 - logs
  • iOS.Device.Aot.Test* - failed test: 1 - logs
  • iOS.Device.ExportManagedSymbols.Test* - failed test: 1 - logs

NOTE: both functional test from above seem to run the correctly and return the expected return value, but XHarness reports XHarness exit code: 92 (TCP_CONNECTION_FAILED) marking the test as failed.

  • QUESTION This should not be related to trimming, why are we experiencing that in this set up?

Should fix: #91923

@ivanpovazanivanpovazan added NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) NO-REVIEW Experimental/testing PR, do NOT review it labels Sep 26, 2023
@ivanpovazanivanpovazan self-assigned this Sep 26, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @dotnet/area-infrastructure-libraries
See info in area-owners.md if you want to be subscribed.

Issue Details

This PR is currently marked as a DRAFT and is intended just for testing.

Description

The PR will be used to incrementally test enabling trimming for libraries and functional tests when targeting ios/tvos platforms on CI. To enable trimming during test builds we should set: -p:EnableAggressiveTrimming=true, however it was reported that some tests depend on not being trimmed in: #91923 which we should investigate and root/fix the failing tests accordingly.

To run a libraries test locally:

  • build the runtime for a specific target:
    ./build.sh mono+libs -c Release -os ios -arch arm64
  • build/run the test on a specific target (use correct Apple Team ID instead of XXXXXXXX):
    ./dotnet.sh build -c Release src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj -p:TargetOS=ios -p:TargetArchitecture=arm64 -t:Test -p:MonoEnableLLVM=true -p:DevTeamProvisioning=XXXXXXXX

IMPORTANT!!!

The initial commit has to be reverted as it disables the default CI trigger so that we do not polute the queues.
Incremental testing can be done by running: /azp run runtime-ioslike


Should fix: #91923

Author:ivanpovazan
Assignees:ivanpovazan
Labels:

NO-MERGE, NO-REVIEW, area-Infrastructure-libraries

Milestone:-

@ivanpovazan

Copy link
Copy Markdown
MemberAuthor

/cc: @simonrozsival@mdh1418

@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @directhex
See info in area-owners.md if you want to be subscribed.

Issue Details

This PR is currently marked as a DRAFT and is intended just for testing.

Description

The PR will be used to incrementally test enabling trimming for libraries and functional tests when targeting ios/tvos platforms on CI. To enable trimming during test builds we should set: -p:EnableAggressiveTrimming=true, however it was reported that some tests depend on not being trimmed in: #91923 which we should investigate and root/fix the failing tests accordingly.

To run a libraries test locally:

  • build the runtime for a specific target:
    ./build.sh mono+libs -c Release -os ios -arch arm64
  • build/run the test on a specific target (use correct Apple Team ID instead of XXXXXXXX):
    ./dotnet.sh build -c Release src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj -p:TargetOS=ios -p:TargetArchitecture=arm64 -t:Test -p:MonoEnableLLVM=true -p:DevTeamProvisioning=XXXXXXXX

IMPORTANT!!!

The initial commit has to be reverted as it disables the default CI trigger so that we do not polute the queues.
Incremental testing can be done by running: /azp run runtime-ioslike


Should fix: #91923

Author:ivanpovazan
Assignees:ivanpovazan
Labels:

NO-MERGE, NO-REVIEW, area-Infrastructure-libraries, area-Infrastructure-mono

Milestone:-

@ivanpovazan

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike

@azure-pipelines

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

@ivanpovazan

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike

@azure-pipelines

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

@ghost

Copy link
Copy Markdown

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@ghostghost locked as resolved and limited conversation to collaborators Nov 26, 2023
This pull request was closed.
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Infrastructure-monoNO-MERGEThe PR is not ready for merge yet (see discussion for detailed reasons)NO-REVIEWExperimental/testing PR, do NOT review it

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Disabled runtime and library tests on Apple mobile

1 participant

@ivanpovazan
, '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

WIP: [mono][tests] Enable trimming for libraries and functional tests on CI - #92645

Closed
ivanpovazan wants to merge 6 commits into
dotnet:mainfrom
ivanpovazan:mono-trim-tests
Closed

WIP: [mono][tests] Enable trimming for libraries and functional tests on CI#92645
ivanpovazan wants to merge 6 commits into
dotnet:mainfrom
ivanpovazan:mono-trim-tests

Conversation

@ivanpovazan

@ivanpovazanivanpovazan commented Sep 26, 2023

Copy link
Copy Markdown
Member

This PR is currently marked as a DRAFT and is intended just for testing.

Description

The PR will be used to incrementally test enabling trimming for libraries and functional tests when targeting ios/tvos platforms on CI. To enable trimming during test builds we should set: -p:EnableAggressiveTrimming=true, however it was reported that some tests depend on not being trimmed in: #91923 which we should investigate and root/fix the failing tests accordingly.

To run a libraries test locally:

  • build the runtime for a specific target:
    ./build.sh mono+libs -c Release -os ios -arch arm64
  • build/run the test on a specific target (use correct Apple Team ID instead of XXXXXXXX):
    ./dotnet.sh build -c Release src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj -p:TargetOS=ios -p:TargetArchitecture=arm64 -t:Test -p:MonoEnableLLVM=true -p:DevTeamProvisioning=XXXXXXXX

!IMPORTANT!

The initial commits have to be reverted as they disable the default CI triggers, which was done to avoid polluting the queues.
Incremental testing can be done by running: /azp run runtime-ioslike

Tentative plan

  • Fix build on Helix configuration with trimming enabled
  • Fix functional and runtime tests failures with trimming enabled
    • Fix System.Runtime.Numerics.Tests - 3 failing tests
    • Fix System.Runtime.Tests - 11 failing tests
    • Fix iOS.Device.Aot.Test
    • Fix iOS.Device.ExportManagedSymbols.Test
    • Fix any other test failures
  • Measure build/trim times and compare how much we save with this change

Current state ios-arm64 with trimming

Failing work items:

  • System.Runtime.Numerics.Tests - failed tests: 3 - logs
  • System.Runtime.Tests - failed tests: 11 - logs
  • iOS.Device.Aot.Test* - failed test: 1 - logs
  • iOS.Device.ExportManagedSymbols.Test* - failed test: 1 - logs

NOTE: both functional test from above seem to run the correctly and return the expected return value, but XHarness reports XHarness exit code: 92 (TCP_CONNECTION_FAILED) marking the test as failed.

  • QUESTION This should not be related to trimming, why are we experiencing that in this set up?

Should fix: #91923

@ivanpovazanivanpovazan added NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) NO-REVIEW Experimental/testing PR, do NOT review it labels Sep 26, 2023
@ivanpovazanivanpovazan self-assigned this Sep 26, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @dotnet/area-infrastructure-libraries
See info in area-owners.md if you want to be subscribed.

Issue Details

This PR is currently marked as a DRAFT and is intended just for testing.

Description

The PR will be used to incrementally test enabling trimming for libraries and functional tests when targeting ios/tvos platforms on CI. To enable trimming during test builds we should set: -p:EnableAggressiveTrimming=true, however it was reported that some tests depend on not being trimmed in: #91923 which we should investigate and root/fix the failing tests accordingly.

To run a libraries test locally:

  • build the runtime for a specific target:
    ./build.sh mono+libs -c Release -os ios -arch arm64
  • build/run the test on a specific target (use correct Apple Team ID instead of XXXXXXXX):
    ./dotnet.sh build -c Release src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj -p:TargetOS=ios -p:TargetArchitecture=arm64 -t:Test -p:MonoEnableLLVM=true -p:DevTeamProvisioning=XXXXXXXX

IMPORTANT!!!

The initial commit has to be reverted as it disables the default CI trigger so that we do not polute the queues.
Incremental testing can be done by running: /azp run runtime-ioslike


Should fix: #91923

Author:ivanpovazan
Assignees:ivanpovazan
Labels:

NO-MERGE, NO-REVIEW, area-Infrastructure-libraries

Milestone:-

@ivanpovazan

Copy link
Copy Markdown
MemberAuthor

/cc: @simonrozsival@mdh1418

@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @directhex
See info in area-owners.md if you want to be subscribed.

Issue Details

This PR is currently marked as a DRAFT and is intended just for testing.

Description

The PR will be used to incrementally test enabling trimming for libraries and functional tests when targeting ios/tvos platforms on CI. To enable trimming during test builds we should set: -p:EnableAggressiveTrimming=true, however it was reported that some tests depend on not being trimmed in: #91923 which we should investigate and root/fix the failing tests accordingly.

To run a libraries test locally:

  • build the runtime for a specific target:
    ./build.sh mono+libs -c Release -os ios -arch arm64
  • build/run the test on a specific target (use correct Apple Team ID instead of XXXXXXXX):
    ./dotnet.sh build -c Release src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj -p:TargetOS=ios -p:TargetArchitecture=arm64 -t:Test -p:MonoEnableLLVM=true -p:DevTeamProvisioning=XXXXXXXX

IMPORTANT!!!

The initial commit has to be reverted as it disables the default CI trigger so that we do not polute the queues.
Incremental testing can be done by running: /azp run runtime-ioslike


Should fix: #91923

Author:ivanpovazan
Assignees:ivanpovazan
Labels:

NO-MERGE, NO-REVIEW, area-Infrastructure-libraries, area-Infrastructure-mono

Milestone:-

@ivanpovazan

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike

@azure-pipelines

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

@ivanpovazan

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike

@azure-pipelines

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

@ghost

Copy link
Copy Markdown

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@ghostghost locked as resolved and limited conversation to collaborators Nov 26, 2023
This pull request was closed.
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Infrastructure-monoNO-MERGEThe PR is not ready for merge yet (see discussion for detailed reasons)NO-REVIEWExperimental/testing PR, do NOT review it

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Disabled runtime and library tests on Apple mobile

1 participant

@ivanpovazan
, '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

WIP: [mono][tests] Enable trimming for libraries and functional tests on CI - #92645

Closed
ivanpovazan wants to merge 6 commits into
dotnet:mainfrom
ivanpovazan:mono-trim-tests
Closed

WIP: [mono][tests] Enable trimming for libraries and functional tests on CI#92645
ivanpovazan wants to merge 6 commits into
dotnet:mainfrom
ivanpovazan:mono-trim-tests

Conversation

@ivanpovazan

@ivanpovazanivanpovazan commented Sep 26, 2023

Copy link
Copy Markdown
Member

This PR is currently marked as a DRAFT and is intended just for testing.

Description

The PR will be used to incrementally test enabling trimming for libraries and functional tests when targeting ios/tvos platforms on CI. To enable trimming during test builds we should set: -p:EnableAggressiveTrimming=true, however it was reported that some tests depend on not being trimmed in: #91923 which we should investigate and root/fix the failing tests accordingly.

To run a libraries test locally:

  • build the runtime for a specific target:
    ./build.sh mono+libs -c Release -os ios -arch arm64
  • build/run the test on a specific target (use correct Apple Team ID instead of XXXXXXXX):
    ./dotnet.sh build -c Release src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj -p:TargetOS=ios -p:TargetArchitecture=arm64 -t:Test -p:MonoEnableLLVM=true -p:DevTeamProvisioning=XXXXXXXX

!IMPORTANT!

The initial commits have to be reverted as they disable the default CI triggers, which was done to avoid polluting the queues.
Incremental testing can be done by running: /azp run runtime-ioslike

Tentative plan

  • Fix build on Helix configuration with trimming enabled
  • Fix functional and runtime tests failures with trimming enabled
    • Fix System.Runtime.Numerics.Tests - 3 failing tests
    • Fix System.Runtime.Tests - 11 failing tests
    • Fix iOS.Device.Aot.Test
    • Fix iOS.Device.ExportManagedSymbols.Test
    • Fix any other test failures
  • Measure build/trim times and compare how much we save with this change

Current state ios-arm64 with trimming

Failing work items:

  • System.Runtime.Numerics.Tests - failed tests: 3 - logs
  • System.Runtime.Tests - failed tests: 11 - logs
  • iOS.Device.Aot.Test* - failed test: 1 - logs
  • iOS.Device.ExportManagedSymbols.Test* - failed test: 1 - logs

NOTE: both functional test from above seem to run the correctly and return the expected return value, but XHarness reports XHarness exit code: 92 (TCP_CONNECTION_FAILED) marking the test as failed.

  • QUESTION This should not be related to trimming, why are we experiencing that in this set up?

Should fix: #91923

@ivanpovazanivanpovazan added NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) NO-REVIEW Experimental/testing PR, do NOT review it labels Sep 26, 2023
@ivanpovazanivanpovazan self-assigned this Sep 26, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @dotnet/area-infrastructure-libraries
See info in area-owners.md if you want to be subscribed.

Issue Details

This PR is currently marked as a DRAFT and is intended just for testing.

Description

The PR will be used to incrementally test enabling trimming for libraries and functional tests when targeting ios/tvos platforms on CI. To enable trimming during test builds we should set: -p:EnableAggressiveTrimming=true, however it was reported that some tests depend on not being trimmed in: #91923 which we should investigate and root/fix the failing tests accordingly.

To run a libraries test locally:

  • build the runtime for a specific target:
    ./build.sh mono+libs -c Release -os ios -arch arm64
  • build/run the test on a specific target (use correct Apple Team ID instead of XXXXXXXX):
    ./dotnet.sh build -c Release src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj -p:TargetOS=ios -p:TargetArchitecture=arm64 -t:Test -p:MonoEnableLLVM=true -p:DevTeamProvisioning=XXXXXXXX

IMPORTANT!!!

The initial commit has to be reverted as it disables the default CI trigger so that we do not polute the queues.
Incremental testing can be done by running: /azp run runtime-ioslike


Should fix: #91923

Author:ivanpovazan
Assignees:ivanpovazan
Labels:

NO-MERGE, NO-REVIEW, area-Infrastructure-libraries

Milestone:-

@ivanpovazan

Copy link
Copy Markdown
MemberAuthor

/cc: @simonrozsival@mdh1418

@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @directhex
See info in area-owners.md if you want to be subscribed.

Issue Details

This PR is currently marked as a DRAFT and is intended just for testing.

Description

The PR will be used to incrementally test enabling trimming for libraries and functional tests when targeting ios/tvos platforms on CI. To enable trimming during test builds we should set: -p:EnableAggressiveTrimming=true, however it was reported that some tests depend on not being trimmed in: #91923 which we should investigate and root/fix the failing tests accordingly.

To run a libraries test locally:

  • build the runtime for a specific target:
    ./build.sh mono+libs -c Release -os ios -arch arm64
  • build/run the test on a specific target (use correct Apple Team ID instead of XXXXXXXX):
    ./dotnet.sh build -c Release src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj -p:TargetOS=ios -p:TargetArchitecture=arm64 -t:Test -p:MonoEnableLLVM=true -p:DevTeamProvisioning=XXXXXXXX

IMPORTANT!!!

The initial commit has to be reverted as it disables the default CI trigger so that we do not polute the queues.
Incremental testing can be done by running: /azp run runtime-ioslike


Should fix: #91923

Author:ivanpovazan
Assignees:ivanpovazan
Labels:

NO-MERGE, NO-REVIEW, area-Infrastructure-libraries, area-Infrastructure-mono

Milestone:-

@ivanpovazan

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike

@azure-pipelines

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

@ivanpovazan

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike

@azure-pipelines

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

@ghost

Copy link
Copy Markdown

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@ghostghost locked as resolved and limited conversation to collaborators Nov 26, 2023
This pull request was closed.
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Infrastructure-monoNO-MERGEThe PR is not ready for merge yet (see discussion for detailed reasons)NO-REVIEWExperimental/testing PR, do NOT review it

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Disabled runtime and library tests on Apple mobile

1 participant

@ivanpovazan
, '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

WIP: [mono][tests] Enable trimming for libraries and functional tests on CI - #92645

Closed
ivanpovazan wants to merge 6 commits into
dotnet:mainfrom
ivanpovazan:mono-trim-tests
Closed

WIP: [mono][tests] Enable trimming for libraries and functional tests on CI#92645
ivanpovazan wants to merge 6 commits into
dotnet:mainfrom
ivanpovazan:mono-trim-tests

Conversation

@ivanpovazan

@ivanpovazanivanpovazan commented Sep 26, 2023

Copy link
Copy Markdown
Member

This PR is currently marked as a DRAFT and is intended just for testing.

Description

The PR will be used to incrementally test enabling trimming for libraries and functional tests when targeting ios/tvos platforms on CI. To enable trimming during test builds we should set: -p:EnableAggressiveTrimming=true, however it was reported that some tests depend on not being trimmed in: #91923 which we should investigate and root/fix the failing tests accordingly.

To run a libraries test locally:

  • build the runtime for a specific target:
    ./build.sh mono+libs -c Release -os ios -arch arm64
  • build/run the test on a specific target (use correct Apple Team ID instead of XXXXXXXX):
    ./dotnet.sh build -c Release src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj -p:TargetOS=ios -p:TargetArchitecture=arm64 -t:Test -p:MonoEnableLLVM=true -p:DevTeamProvisioning=XXXXXXXX

!IMPORTANT!

The initial commits have to be reverted as they disable the default CI triggers, which was done to avoid polluting the queues.
Incremental testing can be done by running: /azp run runtime-ioslike

Tentative plan

  • Fix build on Helix configuration with trimming enabled
  • Fix functional and runtime tests failures with trimming enabled
    • Fix System.Runtime.Numerics.Tests - 3 failing tests
    • Fix System.Runtime.Tests - 11 failing tests
    • Fix iOS.Device.Aot.Test
    • Fix iOS.Device.ExportManagedSymbols.Test
    • Fix any other test failures
  • Measure build/trim times and compare how much we save with this change

Current state ios-arm64 with trimming

Failing work items:

  • System.Runtime.Numerics.Tests - failed tests: 3 - logs
  • System.Runtime.Tests - failed tests: 11 - logs
  • iOS.Device.Aot.Test* - failed test: 1 - logs
  • iOS.Device.ExportManagedSymbols.Test* - failed test: 1 - logs

NOTE: both functional test from above seem to run the correctly and return the expected return value, but XHarness reports XHarness exit code: 92 (TCP_CONNECTION_FAILED) marking the test as failed.

  • QUESTION This should not be related to trimming, why are we experiencing that in this set up?

Should fix: #91923

@ivanpovazanivanpovazan added NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) NO-REVIEW Experimental/testing PR, do NOT review it labels Sep 26, 2023
@ivanpovazanivanpovazan self-assigned this Sep 26, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @dotnet/area-infrastructure-libraries
See info in area-owners.md if you want to be subscribed.

Issue Details

This PR is currently marked as a DRAFT and is intended just for testing.

Description

The PR will be used to incrementally test enabling trimming for libraries and functional tests when targeting ios/tvos platforms on CI. To enable trimming during test builds we should set: -p:EnableAggressiveTrimming=true, however it was reported that some tests depend on not being trimmed in: #91923 which we should investigate and root/fix the failing tests accordingly.

To run a libraries test locally:

  • build the runtime for a specific target:
    ./build.sh mono+libs -c Release -os ios -arch arm64
  • build/run the test on a specific target (use correct Apple Team ID instead of XXXXXXXX):
    ./dotnet.sh build -c Release src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj -p:TargetOS=ios -p:TargetArchitecture=arm64 -t:Test -p:MonoEnableLLVM=true -p:DevTeamProvisioning=XXXXXXXX

IMPORTANT!!!

The initial commit has to be reverted as it disables the default CI trigger so that we do not polute the queues.
Incremental testing can be done by running: /azp run runtime-ioslike


Should fix: #91923

Author:ivanpovazan
Assignees:ivanpovazan
Labels:

NO-MERGE, NO-REVIEW, area-Infrastructure-libraries

Milestone:-

@ivanpovazan

Copy link
Copy Markdown
MemberAuthor

/cc: @simonrozsival@mdh1418

@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @directhex
See info in area-owners.md if you want to be subscribed.

Issue Details

This PR is currently marked as a DRAFT and is intended just for testing.

Description

The PR will be used to incrementally test enabling trimming for libraries and functional tests when targeting ios/tvos platforms on CI. To enable trimming during test builds we should set: -p:EnableAggressiveTrimming=true, however it was reported that some tests depend on not being trimmed in: #91923 which we should investigate and root/fix the failing tests accordingly.

To run a libraries test locally:

  • build the runtime for a specific target:
    ./build.sh mono+libs -c Release -os ios -arch arm64
  • build/run the test on a specific target (use correct Apple Team ID instead of XXXXXXXX):
    ./dotnet.sh build -c Release src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj -p:TargetOS=ios -p:TargetArchitecture=arm64 -t:Test -p:MonoEnableLLVM=true -p:DevTeamProvisioning=XXXXXXXX

IMPORTANT!!!

The initial commit has to be reverted as it disables the default CI trigger so that we do not polute the queues.
Incremental testing can be done by running: /azp run runtime-ioslike


Should fix: #91923

Author:ivanpovazan
Assignees:ivanpovazan
Labels:

NO-MERGE, NO-REVIEW, area-Infrastructure-libraries, area-Infrastructure-mono

Milestone:-

@ivanpovazan

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike

@azure-pipelines

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

@ivanpovazan

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike

@azure-pipelines

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

@ghost

Copy link
Copy Markdown

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@ghostghost locked as resolved and limited conversation to collaborators Nov 26, 2023
This pull request was closed.
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Infrastructure-monoNO-MERGEThe PR is not ready for merge yet (see discussion for detailed reasons)NO-REVIEWExperimental/testing PR, do NOT review it

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Disabled runtime and library tests on Apple mobile

1 participant

@ivanpovazan
, '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

WIP: [mono][tests] Enable trimming for libraries and functional tests on CI - #92645

Closed
ivanpovazan wants to merge 6 commits into
dotnet:mainfrom
ivanpovazan:mono-trim-tests
Closed

WIP: [mono][tests] Enable trimming for libraries and functional tests on CI#92645
ivanpovazan wants to merge 6 commits into
dotnet:mainfrom
ivanpovazan:mono-trim-tests

Conversation

@ivanpovazan

@ivanpovazanivanpovazan commented Sep 26, 2023

Copy link
Copy Markdown
Member

This PR is currently marked as a DRAFT and is intended just for testing.

Description

The PR will be used to incrementally test enabling trimming for libraries and functional tests when targeting ios/tvos platforms on CI. To enable trimming during test builds we should set: -p:EnableAggressiveTrimming=true, however it was reported that some tests depend on not being trimmed in: #91923 which we should investigate and root/fix the failing tests accordingly.

To run a libraries test locally:

  • build the runtime for a specific target:
    ./build.sh mono+libs -c Release -os ios -arch arm64
  • build/run the test on a specific target (use correct Apple Team ID instead of XXXXXXXX):
    ./dotnet.sh build -c Release src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj -p:TargetOS=ios -p:TargetArchitecture=arm64 -t:Test -p:MonoEnableLLVM=true -p:DevTeamProvisioning=XXXXXXXX

!IMPORTANT!

The initial commits have to be reverted as they disable the default CI triggers, which was done to avoid polluting the queues.
Incremental testing can be done by running: /azp run runtime-ioslike

Tentative plan

  • Fix build on Helix configuration with trimming enabled
  • Fix functional and runtime tests failures with trimming enabled
    • Fix System.Runtime.Numerics.Tests - 3 failing tests
    • Fix System.Runtime.Tests - 11 failing tests
    • Fix iOS.Device.Aot.Test
    • Fix iOS.Device.ExportManagedSymbols.Test
    • Fix any other test failures
  • Measure build/trim times and compare how much we save with this change

Current state ios-arm64 with trimming

Failing work items:

  • System.Runtime.Numerics.Tests - failed tests: 3 - logs
  • System.Runtime.Tests - failed tests: 11 - logs
  • iOS.Device.Aot.Test* - failed test: 1 - logs
  • iOS.Device.ExportManagedSymbols.Test* - failed test: 1 - logs

NOTE: both functional test from above seem to run the correctly and return the expected return value, but XHarness reports XHarness exit code: 92 (TCP_CONNECTION_FAILED) marking the test as failed.

  • QUESTION This should not be related to trimming, why are we experiencing that in this set up?

Should fix: #91923

@ivanpovazanivanpovazan added NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) NO-REVIEW Experimental/testing PR, do NOT review it labels Sep 26, 2023
@ivanpovazanivanpovazan self-assigned this Sep 26, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @dotnet/area-infrastructure-libraries
See info in area-owners.md if you want to be subscribed.

Issue Details

This PR is currently marked as a DRAFT and is intended just for testing.

Description

The PR will be used to incrementally test enabling trimming for libraries and functional tests when targeting ios/tvos platforms on CI. To enable trimming during test builds we should set: -p:EnableAggressiveTrimming=true, however it was reported that some tests depend on not being trimmed in: #91923 which we should investigate and root/fix the failing tests accordingly.

To run a libraries test locally:

  • build the runtime for a specific target:
    ./build.sh mono+libs -c Release -os ios -arch arm64
  • build/run the test on a specific target (use correct Apple Team ID instead of XXXXXXXX):
    ./dotnet.sh build -c Release src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj -p:TargetOS=ios -p:TargetArchitecture=arm64 -t:Test -p:MonoEnableLLVM=true -p:DevTeamProvisioning=XXXXXXXX

IMPORTANT!!!

The initial commit has to be reverted as it disables the default CI trigger so that we do not polute the queues.
Incremental testing can be done by running: /azp run runtime-ioslike


Should fix: #91923

Author:ivanpovazan
Assignees:ivanpovazan
Labels:

NO-MERGE, NO-REVIEW, area-Infrastructure-libraries

Milestone:-

@ivanpovazan

Copy link
Copy Markdown
MemberAuthor

/cc: @simonrozsival@mdh1418

@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @directhex
See info in area-owners.md if you want to be subscribed.

Issue Details

This PR is currently marked as a DRAFT and is intended just for testing.

Description

The PR will be used to incrementally test enabling trimming for libraries and functional tests when targeting ios/tvos platforms on CI. To enable trimming during test builds we should set: -p:EnableAggressiveTrimming=true, however it was reported that some tests depend on not being trimmed in: #91923 which we should investigate and root/fix the failing tests accordingly.

To run a libraries test locally:

  • build the runtime for a specific target:
    ./build.sh mono+libs -c Release -os ios -arch arm64
  • build/run the test on a specific target (use correct Apple Team ID instead of XXXXXXXX):
    ./dotnet.sh build -c Release src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj -p:TargetOS=ios -p:TargetArchitecture=arm64 -t:Test -p:MonoEnableLLVM=true -p:DevTeamProvisioning=XXXXXXXX

IMPORTANT!!!

The initial commit has to be reverted as it disables the default CI trigger so that we do not polute the queues.
Incremental testing can be done by running: /azp run runtime-ioslike


Should fix: #91923

Author:ivanpovazan
Assignees:ivanpovazan
Labels:

NO-MERGE, NO-REVIEW, area-Infrastructure-libraries, area-Infrastructure-mono

Milestone:-

@ivanpovazan

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike

@azure-pipelines

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

@ivanpovazan

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike

@azure-pipelines

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

@ghost

Copy link
Copy Markdown

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@ghostghost locked as resolved and limited conversation to collaborators Nov 26, 2023
This pull request was closed.
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Infrastructure-monoNO-MERGEThe PR is not ready for merge yet (see discussion for detailed reasons)NO-REVIEWExperimental/testing PR, do NOT review it

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Disabled runtime and library tests on Apple mobile

1 participant

@ivanpovazan
, '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

WIP: [mono][tests] Enable trimming for libraries and functional tests on CI - #92645

Closed
ivanpovazan wants to merge 6 commits into
dotnet:mainfrom
ivanpovazan:mono-trim-tests
Closed

WIP: [mono][tests] Enable trimming for libraries and functional tests on CI#92645
ivanpovazan wants to merge 6 commits into
dotnet:mainfrom
ivanpovazan:mono-trim-tests

Conversation

@ivanpovazan

@ivanpovazanivanpovazan commented Sep 26, 2023

Copy link
Copy Markdown
Member

This PR is currently marked as a DRAFT and is intended just for testing.

Description

The PR will be used to incrementally test enabling trimming for libraries and functional tests when targeting ios/tvos platforms on CI. To enable trimming during test builds we should set: -p:EnableAggressiveTrimming=true, however it was reported that some tests depend on not being trimmed in: #91923 which we should investigate and root/fix the failing tests accordingly.

To run a libraries test locally:

  • build the runtime for a specific target:
    ./build.sh mono+libs -c Release -os ios -arch arm64
  • build/run the test on a specific target (use correct Apple Team ID instead of XXXXXXXX):
    ./dotnet.sh build -c Release src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj -p:TargetOS=ios -p:TargetArchitecture=arm64 -t:Test -p:MonoEnableLLVM=true -p:DevTeamProvisioning=XXXXXXXX

!IMPORTANT!

The initial commits have to be reverted as they disable the default CI triggers, which was done to avoid polluting the queues.
Incremental testing can be done by running: /azp run runtime-ioslike

Tentative plan

  • Fix build on Helix configuration with trimming enabled
  • Fix functional and runtime tests failures with trimming enabled
    • Fix System.Runtime.Numerics.Tests - 3 failing tests
    • Fix System.Runtime.Tests - 11 failing tests
    • Fix iOS.Device.Aot.Test
    • Fix iOS.Device.ExportManagedSymbols.Test
    • Fix any other test failures
  • Measure build/trim times and compare how much we save with this change

Current state ios-arm64 with trimming

Failing work items:

  • System.Runtime.Numerics.Tests - failed tests: 3 - logs
  • System.Runtime.Tests - failed tests: 11 - logs
  • iOS.Device.Aot.Test* - failed test: 1 - logs
  • iOS.Device.ExportManagedSymbols.Test* - failed test: 1 - logs

NOTE: both functional test from above seem to run the correctly and return the expected return value, but XHarness reports XHarness exit code: 92 (TCP_CONNECTION_FAILED) marking the test as failed.

  • QUESTION This should not be related to trimming, why are we experiencing that in this set up?

Should fix: #91923

@ivanpovazanivanpovazan added NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) NO-REVIEW Experimental/testing PR, do NOT review it labels Sep 26, 2023
@ivanpovazanivanpovazan self-assigned this Sep 26, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @dotnet/area-infrastructure-libraries
See info in area-owners.md if you want to be subscribed.

Issue Details

This PR is currently marked as a DRAFT and is intended just for testing.

Description

The PR will be used to incrementally test enabling trimming for libraries and functional tests when targeting ios/tvos platforms on CI. To enable trimming during test builds we should set: -p:EnableAggressiveTrimming=true, however it was reported that some tests depend on not being trimmed in: #91923 which we should investigate and root/fix the failing tests accordingly.

To run a libraries test locally:

  • build the runtime for a specific target:
    ./build.sh mono+libs -c Release -os ios -arch arm64
  • build/run the test on a specific target (use correct Apple Team ID instead of XXXXXXXX):
    ./dotnet.sh build -c Release src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj -p:TargetOS=ios -p:TargetArchitecture=arm64 -t:Test -p:MonoEnableLLVM=true -p:DevTeamProvisioning=XXXXXXXX

IMPORTANT!!!

The initial commit has to be reverted as it disables the default CI trigger so that we do not polute the queues.
Incremental testing can be done by running: /azp run runtime-ioslike


Should fix: #91923

Author:ivanpovazan
Assignees:ivanpovazan
Labels:

NO-MERGE, NO-REVIEW, area-Infrastructure-libraries

Milestone:-

@ivanpovazan

Copy link
Copy Markdown
MemberAuthor

/cc: @simonrozsival@mdh1418

@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @directhex
See info in area-owners.md if you want to be subscribed.

Issue Details

This PR is currently marked as a DRAFT and is intended just for testing.

Description

The PR will be used to incrementally test enabling trimming for libraries and functional tests when targeting ios/tvos platforms on CI. To enable trimming during test builds we should set: -p:EnableAggressiveTrimming=true, however it was reported that some tests depend on not being trimmed in: #91923 which we should investigate and root/fix the failing tests accordingly.

To run a libraries test locally:

  • build the runtime for a specific target:
    ./build.sh mono+libs -c Release -os ios -arch arm64
  • build/run the test on a specific target (use correct Apple Team ID instead of XXXXXXXX):
    ./dotnet.sh build -c Release src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj -p:TargetOS=ios -p:TargetArchitecture=arm64 -t:Test -p:MonoEnableLLVM=true -p:DevTeamProvisioning=XXXXXXXX

IMPORTANT!!!

The initial commit has to be reverted as it disables the default CI trigger so that we do not polute the queues.
Incremental testing can be done by running: /azp run runtime-ioslike


Should fix: #91923

Author:ivanpovazan
Assignees:ivanpovazan
Labels:

NO-MERGE, NO-REVIEW, area-Infrastructure-libraries, area-Infrastructure-mono

Milestone:-

@ivanpovazan

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike

@azure-pipelines

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

@ivanpovazan

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike

@azure-pipelines

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

@ghost

Copy link
Copy Markdown

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@ghostghost locked as resolved and limited conversation to collaborators Nov 26, 2023
This pull request was closed.
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Infrastructure-monoNO-MERGEThe PR is not ready for merge yet (see discussion for detailed reasons)NO-REVIEWExperimental/testing PR, do NOT review it

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Disabled runtime and library tests on Apple mobile

1 participant

@ivanpovazan
, '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

WIP: [mono][tests] Enable trimming for libraries and functional tests on CI - #92645

Closed
ivanpovazan wants to merge 6 commits into
dotnet:mainfrom
ivanpovazan:mono-trim-tests
Closed

WIP: [mono][tests] Enable trimming for libraries and functional tests on CI#92645
ivanpovazan wants to merge 6 commits into
dotnet:mainfrom
ivanpovazan:mono-trim-tests

Conversation

@ivanpovazan

@ivanpovazanivanpovazan commented Sep 26, 2023

Copy link
Copy Markdown
Member

This PR is currently marked as a DRAFT and is intended just for testing.

Description

The PR will be used to incrementally test enabling trimming for libraries and functional tests when targeting ios/tvos platforms on CI. To enable trimming during test builds we should set: -p:EnableAggressiveTrimming=true, however it was reported that some tests depend on not being trimmed in: #91923 which we should investigate and root/fix the failing tests accordingly.

To run a libraries test locally:

  • build the runtime for a specific target:
    ./build.sh mono+libs -c Release -os ios -arch arm64
  • build/run the test on a specific target (use correct Apple Team ID instead of XXXXXXXX):
    ./dotnet.sh build -c Release src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj -p:TargetOS=ios -p:TargetArchitecture=arm64 -t:Test -p:MonoEnableLLVM=true -p:DevTeamProvisioning=XXXXXXXX

!IMPORTANT!

The initial commits have to be reverted as they disable the default CI triggers, which was done to avoid polluting the queues.
Incremental testing can be done by running: /azp run runtime-ioslike

Tentative plan

  • Fix build on Helix configuration with trimming enabled
  • Fix functional and runtime tests failures with trimming enabled
    • Fix System.Runtime.Numerics.Tests - 3 failing tests
    • Fix System.Runtime.Tests - 11 failing tests
    • Fix iOS.Device.Aot.Test
    • Fix iOS.Device.ExportManagedSymbols.Test
    • Fix any other test failures
  • Measure build/trim times and compare how much we save with this change

Current state ios-arm64 with trimming

Failing work items:

  • System.Runtime.Numerics.Tests - failed tests: 3 - logs
  • System.Runtime.Tests - failed tests: 11 - logs
  • iOS.Device.Aot.Test* - failed test: 1 - logs
  • iOS.Device.ExportManagedSymbols.Test* - failed test: 1 - logs

NOTE: both functional test from above seem to run the correctly and return the expected return value, but XHarness reports XHarness exit code: 92 (TCP_CONNECTION_FAILED) marking the test as failed.

  • QUESTION This should not be related to trimming, why are we experiencing that in this set up?

Should fix: #91923

@ivanpovazanivanpovazan added NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) NO-REVIEW Experimental/testing PR, do NOT review it labels Sep 26, 2023
@ivanpovazanivanpovazan self-assigned this Sep 26, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @dotnet/area-infrastructure-libraries
See info in area-owners.md if you want to be subscribed.

Issue Details

This PR is currently marked as a DRAFT and is intended just for testing.

Description

The PR will be used to incrementally test enabling trimming for libraries and functional tests when targeting ios/tvos platforms on CI. To enable trimming during test builds we should set: -p:EnableAggressiveTrimming=true, however it was reported that some tests depend on not being trimmed in: #91923 which we should investigate and root/fix the failing tests accordingly.

To run a libraries test locally:

  • build the runtime for a specific target:
    ./build.sh mono+libs -c Release -os ios -arch arm64
  • build/run the test on a specific target (use correct Apple Team ID instead of XXXXXXXX):
    ./dotnet.sh build -c Release src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj -p:TargetOS=ios -p:TargetArchitecture=arm64 -t:Test -p:MonoEnableLLVM=true -p:DevTeamProvisioning=XXXXXXXX

IMPORTANT!!!

The initial commit has to be reverted as it disables the default CI trigger so that we do not polute the queues.
Incremental testing can be done by running: /azp run runtime-ioslike


Should fix: #91923

Author:ivanpovazan
Assignees:ivanpovazan
Labels:

NO-MERGE, NO-REVIEW, area-Infrastructure-libraries

Milestone:-

@ivanpovazan

Copy link
Copy Markdown
MemberAuthor

/cc: @simonrozsival@mdh1418

@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @directhex
See info in area-owners.md if you want to be subscribed.

Issue Details

This PR is currently marked as a DRAFT and is intended just for testing.

Description

The PR will be used to incrementally test enabling trimming for libraries and functional tests when targeting ios/tvos platforms on CI. To enable trimming during test builds we should set: -p:EnableAggressiveTrimming=true, however it was reported that some tests depend on not being trimmed in: #91923 which we should investigate and root/fix the failing tests accordingly.

To run a libraries test locally:

  • build the runtime for a specific target:
    ./build.sh mono+libs -c Release -os ios -arch arm64
  • build/run the test on a specific target (use correct Apple Team ID instead of XXXXXXXX):
    ./dotnet.sh build -c Release src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj -p:TargetOS=ios -p:TargetArchitecture=arm64 -t:Test -p:MonoEnableLLVM=true -p:DevTeamProvisioning=XXXXXXXX

IMPORTANT!!!

The initial commit has to be reverted as it disables the default CI trigger so that we do not polute the queues.
Incremental testing can be done by running: /azp run runtime-ioslike


Should fix: #91923

Author:ivanpovazan
Assignees:ivanpovazan
Labels:

NO-MERGE, NO-REVIEW, area-Infrastructure-libraries, area-Infrastructure-mono

Milestone:-

@ivanpovazan

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike

@azure-pipelines

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

@ivanpovazan

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike

@azure-pipelines

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

@ghost

Copy link
Copy Markdown

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@ghostghost locked as resolved and limited conversation to collaborators Nov 26, 2023
This pull request was closed.
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Infrastructure-monoNO-MERGEThe PR is not ready for merge yet (see discussion for detailed reasons)NO-REVIEWExperimental/testing PR, do NOT review it

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Disabled runtime and library tests on Apple mobile

1 participant

@ivanpovazan
, '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

WIP: [mono][tests] Enable trimming for libraries and functional tests on CI - #92645

Closed
ivanpovazan wants to merge 6 commits into
dotnet:mainfrom
ivanpovazan:mono-trim-tests
Closed

WIP: [mono][tests] Enable trimming for libraries and functional tests on CI#92645
ivanpovazan wants to merge 6 commits into
dotnet:mainfrom
ivanpovazan:mono-trim-tests

Conversation

@ivanpovazan

@ivanpovazanivanpovazan commented Sep 26, 2023

Copy link
Copy Markdown
Member

This PR is currently marked as a DRAFT and is intended just for testing.

Description

The PR will be used to incrementally test enabling trimming for libraries and functional tests when targeting ios/tvos platforms on CI. To enable trimming during test builds we should set: -p:EnableAggressiveTrimming=true, however it was reported that some tests depend on not being trimmed in: #91923 which we should investigate and root/fix the failing tests accordingly.

To run a libraries test locally:

  • build the runtime for a specific target:
    ./build.sh mono+libs -c Release -os ios -arch arm64
  • build/run the test on a specific target (use correct Apple Team ID instead of XXXXXXXX):
    ./dotnet.sh build -c Release src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj -p:TargetOS=ios -p:TargetArchitecture=arm64 -t:Test -p:MonoEnableLLVM=true -p:DevTeamProvisioning=XXXXXXXX

!IMPORTANT!

The initial commits have to be reverted as they disable the default CI triggers, which was done to avoid polluting the queues.
Incremental testing can be done by running: /azp run runtime-ioslike

Tentative plan

  • Fix build on Helix configuration with trimming enabled
  • Fix functional and runtime tests failures with trimming enabled
    • Fix System.Runtime.Numerics.Tests - 3 failing tests
    • Fix System.Runtime.Tests - 11 failing tests
    • Fix iOS.Device.Aot.Test
    • Fix iOS.Device.ExportManagedSymbols.Test
    • Fix any other test failures
  • Measure build/trim times and compare how much we save with this change

Current state ios-arm64 with trimming

Failing work items:

  • System.Runtime.Numerics.Tests - failed tests: 3 - logs
  • System.Runtime.Tests - failed tests: 11 - logs
  • iOS.Device.Aot.Test* - failed test: 1 - logs
  • iOS.Device.ExportManagedSymbols.Test* - failed test: 1 - logs

NOTE: both functional test from above seem to run the correctly and return the expected return value, but XHarness reports XHarness exit code: 92 (TCP_CONNECTION_FAILED) marking the test as failed.

  • QUESTION This should not be related to trimming, why are we experiencing that in this set up?

Should fix: #91923

@ivanpovazanivanpovazan added NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) NO-REVIEW Experimental/testing PR, do NOT review it labels Sep 26, 2023
@ivanpovazanivanpovazan self-assigned this Sep 26, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @dotnet/area-infrastructure-libraries
See info in area-owners.md if you want to be subscribed.

Issue Details

This PR is currently marked as a DRAFT and is intended just for testing.

Description

The PR will be used to incrementally test enabling trimming for libraries and functional tests when targeting ios/tvos platforms on CI. To enable trimming during test builds we should set: -p:EnableAggressiveTrimming=true, however it was reported that some tests depend on not being trimmed in: #91923 which we should investigate and root/fix the failing tests accordingly.

To run a libraries test locally:

  • build the runtime for a specific target:
    ./build.sh mono+libs -c Release -os ios -arch arm64
  • build/run the test on a specific target (use correct Apple Team ID instead of XXXXXXXX):
    ./dotnet.sh build -c Release src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj -p:TargetOS=ios -p:TargetArchitecture=arm64 -t:Test -p:MonoEnableLLVM=true -p:DevTeamProvisioning=XXXXXXXX

IMPORTANT!!!

The initial commit has to be reverted as it disables the default CI trigger so that we do not polute the queues.
Incremental testing can be done by running: /azp run runtime-ioslike


Should fix: #91923

Author:ivanpovazan
Assignees:ivanpovazan
Labels:

NO-MERGE, NO-REVIEW, area-Infrastructure-libraries

Milestone:-

@ivanpovazan

Copy link
Copy Markdown
MemberAuthor

/cc: @simonrozsival@mdh1418

@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @directhex
See info in area-owners.md if you want to be subscribed.

Issue Details

This PR is currently marked as a DRAFT and is intended just for testing.

Description

The PR will be used to incrementally test enabling trimming for libraries and functional tests when targeting ios/tvos platforms on CI. To enable trimming during test builds we should set: -p:EnableAggressiveTrimming=true, however it was reported that some tests depend on not being trimmed in: #91923 which we should investigate and root/fix the failing tests accordingly.

To run a libraries test locally:

  • build the runtime for a specific target:
    ./build.sh mono+libs -c Release -os ios -arch arm64
  • build/run the test on a specific target (use correct Apple Team ID instead of XXXXXXXX):
    ./dotnet.sh build -c Release src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj -p:TargetOS=ios -p:TargetArchitecture=arm64 -t:Test -p:MonoEnableLLVM=true -p:DevTeamProvisioning=XXXXXXXX

IMPORTANT!!!

The initial commit has to be reverted as it disables the default CI trigger so that we do not polute the queues.
Incremental testing can be done by running: /azp run runtime-ioslike


Should fix: #91923

Author:ivanpovazan
Assignees:ivanpovazan
Labels:

NO-MERGE, NO-REVIEW, area-Infrastructure-libraries, area-Infrastructure-mono

Milestone:-

@ivanpovazan

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike

@azure-pipelines

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

@ivanpovazan

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-ioslike

@azure-pipelines

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

@ghost

Copy link
Copy Markdown

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@ghostghost locked as resolved and limited conversation to collaborators Nov 26, 2023
This pull request was closed.
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Infrastructure-monoNO-MERGEThe PR is not ready for merge yet (see discussion for detailed reasons)NO-REVIEWExperimental/testing PR, do NOT review it

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Disabled runtime and library tests on Apple mobile

1 participant

@ivanpovazan