Skip to content

[wasm][wbt] Split WBT classes to speed up CI job execution. - #89926

Merged
radical merged 7 commits into
dotnet:mainfrom
ilonatommy:split-longest-wbt
Aug 4, 2023
Merged

[wasm][wbt] Split WBT classes to speed up CI job execution.#89926
radical merged 7 commits into
dotnet:mainfrom
ilonatommy:split-longest-wbt

Conversation

@ilonatommy

@ilonatommy ilonatommy commented Aug 3, 2023

Copy link
Copy Markdown
Member

IcuSharding and BuildPublish on Blazor always take the longest. I split them more or less into equal test count per class (~20 in icu, ~10 in build publish).

This PR changes the times on wbt linux CI when we split into BuldPublish and BuildPublishDefaultTemplate:
Build time: ~1,5min -> ~1,5min
Run time: ~53min -> ~45min
Original time values taken from build 20230802.154 with 495 301 tests.

It's fine but the BuildPublish is the only test that keeps running till the end, around 30th minute all the other wbt are done already, so trying the 3-file split approach:

  • BuildPublishTestsFromWasmTemplate,
  • BuildPublishTestsFromBlazorTemplate (the same test set as BuildPublishDefaultTemplate, just renamed to better describe the contents) and
  • BuildPublish,

each <10 tests.
Build time: ~1,5min -> ~1,5min
Run time: ~53min -> 53 min - it seems 3 files split did not work as expected, @radical, it might be an outliner but in this situation it does not look worthy to merge the changes.
build 20230804.3
Okay, on the re-run it's already fine, 35 min as expected.

On windows it changed ~60min -> 42 min.

@ilonatommy ilonatommy added arch-wasm WebAssembly architecture test-enhancement Improvements of test source code area-Build-mono labels Aug 3, 2023
@ilonatommy
ilonatommy requested a review from pavelsavara August 3, 2023 11:37
@ilonatommy
ilonatommy requested a review from radical as a code owner August 3, 2023 11:37
@ilonatommy ilonatommy self-assigned this Aug 3, 2023
@ghost

ghost commented Aug 3, 2023

Copy link
Copy Markdown

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

IcuSharding and BuildPublish on Blazor always take the longest. I split them more or less into equal test count per class (~20 in icu, ~10 in build publish).

Author: ilonatommy
Assignees: ilonatommy
Labels:

arch-wasm, test-enhancement, area-Build-mono

Milestone: -

@ilonatommy ilonatommy changed the title [browser][wbt] Split WBT classes to seed up CI job execution. [browser][wbt] Split WBT classes to speed up CI job execution. Aug 3, 2023
@radical radical changed the title [browser][wbt] Split WBT classes to speed up CI job execution. [wasm][wbt] Split WBT classes to speed up CI job execution. Aug 3, 2023
@radical

radical commented Aug 3, 2023

Copy link
Copy Markdown
Member

Thank you for doing this! I'm also planning an automated solution for this, but could take some time.

Comment thread src/mono/wasm/Wasm.Build.Tests/IcuTestsBase.cs Outdated

@radical radical left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! Thank you for doing this!!

Comment thread src/mono/wasm/Wasm.Build.Tests/IcuTestsBase.cs
Comment thread src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTestsFromWasmTemplate.cs Outdated
Comment thread src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs
Comment thread src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTestsFromBlazorTemplate.cs Outdated
Comment thread src/mono/wasm/Wasm.Build.Tests/Common/IcuTestsHelper.cs Outdated
Comment thread src/mono/wasm/Wasm.Build.Tests/IcuTests.cs
Comment thread src/mono/wasm/Wasm.Build.Tests/IcuTestsBase.cs Outdated
@ghost ghost added the needs-author-action An issue or pull request that requires more info or actions from the author. label Aug 3, 2023
@radical

radical commented Aug 3, 2023

Copy link
Copy Markdown
Member

Also, can you make sure that we are not running fewer tests after this?

@ghost ghost removed the needs-author-action An issue or pull request that requires more info or actions from the author. label Aug 4, 2023
@ilonatommy

Copy link
Copy Markdown
Member Author

/azp run runtime

@azure-pipelines

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

@ilonatommy

Copy link
Copy Markdown
Member Author

/azp run runtime-wasm

@azure-pipelines

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

@radical
radical merged commit 1436d45 into dotnet:main Aug 4, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Sep 4, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

arch-wasm WebAssembly architecture area-Build-mono test-enhancement Improvements of test source code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants