Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[wasm] Misc CI/test run improvements #61937

Merged
merged 11 commits into from
Nov 24, 2021
108 changes: 54 additions & 54 deletions eng/pipelines/runtime-manual.yml
Original file line number Diff line number Diff line change
Expand Up @@ -280,56 +280,19 @@ jobs:
eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
eq(variables['isManualOrIsNotPR'], true),
eq(variables['isFullMatrix'], true))
${{ if eq(variables['isFullMatrix'], true) }}:
# extra steps, run tests
extraStepsTemplate: /eng/pipelines/libraries/helix.yml
extraStepsParameters:
creator: dotnet-bot
testRunNamePrefixSuffix: Mono_$(_BuildConfig)
extraHelixArguments: /p:BrowserHost=windows
scenarios:
- normal
- wasmtestonbrowser
condition: >-
or(
eq(variables['librariesContainsChange'], true),
eq(variables['monoContainsChange'], true),
eq(variables['isManualOrIsNotPR'], true),
eq(variables['isFullMatrix'], true))

- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
buildConfig: release
runtimeFlavor: mono
platforms:
- Browser_wasm_win
variables:
# map dependencies variables to local variables
- name: wasmbuildtestsContainsChange
value: $[ dependencies.evaluate_paths.outputs['SetPathVars_wasmbuildtests.containsChange'] ]
jobParameters:
testGroup: innerloop
nameSuffix: Windows_wasm_WBT
buildArgs: -subset mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:BrowserHost=windows /p:TestWasmBuildTests=true /p:TestAssemblies=false
timeoutInMinutes: 180
condition: >-
or(
eq(dependencies.evaluate_paths.outputs['SetPathVars_wasmbuildtests.containsChange'], true),
eq(variables['isManualOrIsNotPR'], true),
eq(variables['isFullMatrix'], true))
# extra steps, run tests
extraStepsTemplate: /eng/pipelines/libraries/helix.yml
extraStepsParameters:
creator: dotnet-bot
testRunNamePrefixSuffix: Mono_$(_BuildConfig)
extraHelixArguments: /p:BrowserHost=windows
scenarios:
- buildwasmapps
- normal
- wasmtestonbrowser
condition: >-
or(
eq(variables['wasmbuildtestsContainsChange'], true),
eq(variables['librariesContainsChange'], true),
eq(variables['monoContainsChange'], true),
eq(variables['isManualOrIsNotPR'], true),
eq(variables['isFullMatrix'], true))

Expand All @@ -343,37 +306,74 @@ jobs:
- Browser_wasm_win
variables:
# map dependencies variables to local variables
- name: librariesContainsChange
value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
- name: monoContainsChange
value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ]
- name: wasmbuildtestsContainsChange
value: $[ dependencies.evaluate_paths.outputs['SetPathVars_wasmbuildtests.containsChange'] ]
jobParameters:
testGroup: innerloop
nameSuffix: Windows_wasm_AOT
buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:BrowserHost=windows /p:EnableAggressiveTrimming=true /p:BuildAOTTestsOnHelix=true /p:RunAOTCompilation=true $(_runSmokeTestsOnlyArg)
nameSuffix: Windows_wasm_WBT
buildArgs: -subset mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:BrowserHost=windows /p:TestWasmBuildTests=true /p:TestAssemblies=false
timeoutInMinutes: 180
condition: >-
or(
eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true),
eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
eq(dependencies.evaluate_paths.outputs['SetPathVars_wasmbuildtests.containsChange'], true),
eq(variables['isManualOrIsNotPR'], true),
eq(variables['isFullMatrix'], true))
# extra steps, run tests
extraStepsTemplate: /eng/pipelines/libraries/helix.yml
extraStepsParameters:
creator: dotnet-bot
testRunNamePrefixSuffix: Mono_$(_BuildConfig)
extraHelixArguments: /p:BrowserHost=windows /p:NeedsToBuildWasmAppsOnHelix=true $(_runSmokeTestsOnlyArg)
extraHelixArguments: /p:BrowserHost=windows
scenarios:
- normal
- buildwasmapps
condition: >-
or(
eq(variables['librariesContainsChange'], true),
eq(variables['monoContainsChange'], true),
eq(variables['wasmbuildtestsContainsChange'], true),
eq(variables['isManualOrIsNotPR'], true),
eq(variables['isFullMatrix'], true))

# Disabled due to https://github.com/dotnet/runtime/issues/61721
#- template: /eng/pipelines/common/platform-matrix.yml
#parameters:
#jobTemplate: /eng/pipelines/common/global-build-job.yml
#helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
#buildConfig: release
#runtimeFlavor: mono
#platforms:
#- Browser_wasm_win
#variables:
## map dependencies variables to local variables
#- name: librariesContainsChange
#value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
#- name: monoContainsChange
#value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ]
#jobParameters:
#testGroup: innerloop
#nameSuffix: Windows_wasm_AOT
#buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:BrowserHost=windows /p:EnableAggressiveTrimming=true /p:BuildAOTTestsOnHelix=true /p:RunAOTCompilation=true $(_runSmokeTestsOnlyArg)
#timeoutInMinutes: 180
#condition: >-
#or(
#eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
#eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true),
#eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
#eq(variables['isManualOrIsNotPR'], true),
#eq(variables['isFullMatrix'], true))
## extra steps, run tests
#extraStepsTemplate: /eng/pipelines/libraries/helix.yml
#extraStepsParameters:
#creator: dotnet-bot
#testRunNamePrefixSuffix: Mono_$(_BuildConfig)
#extraHelixArguments: /p:BrowserHost=windows /p:NeedsToBuildWasmAppsOnHelix=true $(_runSmokeTestsOnlyArg)
#scenarios:
#- normal
#condition: >-
#or(
#eq(variables['librariesContainsChange'], true),
#eq(variables['monoContainsChange'], true),
#eq(variables['isManualOrIsNotPR'], true),
#eq(variables['isFullMatrix'], true))

#
# Build for Browser/wasm, with EnableAggressiveTrimming=true
#
Expand Down
94 changes: 47 additions & 47 deletions eng/pipelines/runtime-staging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -466,52 +466,6 @@ jobs:
nameSuffix: Windows_wasm
buildArgs: -subset mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:BrowserHost=windows
timeoutInMinutes: 180
condition: >-
or(
eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true),
eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
eq(variables['isManualOrIsNotPR'], true),
eq(variables['isFullMatrix'], true))
${{ if eq(variables['isFullMatrix'], true) }}:
# extra steps, run tests
extraStepsTemplate: /eng/pipelines/libraries/helix.yml
extraStepsParameters:
creator: dotnet-bot
testRunNamePrefixSuffix: Mono_$(_BuildConfig)
extraHelixArguments: /p:BrowserHost=windows
scenarios:
- normal
- wasmtestonbrowser
condition: >-
or(
eq(variables['librariesContainsChange'], true),
eq(variables['monoContainsChange'], true),
eq(variables['isManualOrIsNotPR'], true),
eq(variables['isFullMatrix'], true))

#
# Build Browser_wasm, on windows, and run tests with AOT
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
buildConfig: release
runtimeFlavor: mono
platforms:
- Browser_wasm_win
variables:
# map dependencies variables to local variables
- name: librariesContainsChange
value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
- name: monoContainsChange
value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ]
jobParameters:
testGroup: innerloop
nameSuffix: Windows_wasm_AOT
buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:BrowserHost=windows /p:EnableAggressiveTrimming=true /p:BuildAOTTestsOnHelix=true /p:RunAOTCompilation=true $(_runSmokeTestsOnlyArg)
timeoutInMinutes: 180
condition: >-
or(
eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
Expand All @@ -524,16 +478,62 @@ jobs:
extraStepsParameters:
creator: dotnet-bot
testRunNamePrefixSuffix: Mono_$(_BuildConfig)
extraHelixArguments: /p:BrowserHost=windows /p:NeedsToBuildWasmAppsOnHelix=true $(_runSmokeTestsOnlyArg)
extraHelixArguments: /p:BrowserHost=windows $(_runSmokeTestsOnlyArg)
scenarios:
- normal
- wasmtestonbrowser
condition: >-
or(
eq(variables['librariesContainsChange'], true),
eq(variables['monoContainsChange'], true),
eq(variables['isManualOrIsNotPR'], true),
eq(variables['isFullMatrix'], true))

#
# Build Browser_wasm, on windows, and run tests with AOT
#
# Disabled due to https://github.com/dotnet/runtime/issues/61721
#- template: /eng/pipelines/common/platform-matrix.yml
#parameters:
#jobTemplate: /eng/pipelines/common/global-build-job.yml
#helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
#buildConfig: release
#runtimeFlavor: mono
#platforms:
#- Browser_wasm_win
#variables:
## map dependencies variables to local variables
#- name: librariesContainsChange
#value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
#- name: monoContainsChange
#value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ]
#jobParameters:
#testGroup: innerloop
#nameSuffix: Windows_wasm_AOT
#buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:BrowserHost=windows /p:EnableAggressiveTrimming=true /p:BuildAOTTestsOnHelix=true /p:RunAOTCompilation=true $(_runSmokeTestsOnlyArg)
#timeoutInMinutes: 180
#condition: >-
#or(
#eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
#eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true),
#eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
#eq(variables['isManualOrIsNotPR'], true),
#eq(variables['isFullMatrix'], true))
## extra steps, run tests
#extraStepsTemplate: /eng/pipelines/libraries/helix.yml
#extraStepsParameters:
#creator: dotnet-bot
#testRunNamePrefixSuffix: Mono_$(_BuildConfig)
#extraHelixArguments: /p:BrowserHost=windows /p:NeedsToBuildWasmAppsOnHelix=true $(_runSmokeTestsOnlyArg)
#scenarios:
#- normal
#condition: >-
#or(
#eq(variables['librariesContainsChange'], true),
#eq(variables['monoContainsChange'], true),
#eq(variables['isManualOrIsNotPR'], true),
#eq(variables['isFullMatrix'], true))


#
# Build Browser_wasm, on windows, and run Wasm.Build.Tests
Expand Down
3 changes: 2 additions & 1 deletion eng/testing/tests.wasm.targets
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@
so, just setting it true by default -->
<IncludeSatelliteAssembliesInVFS Condition="'$(IncludeSatelliteAssembliesInVFS)' == ''">true</IncludeSatelliteAssembliesInVFS>

<_ShellCommandSeparator Condition="'$(OS)' == 'Windows_NT'">&amp;</_ShellCommandSeparator>
<!-- Run only if previous command succeeded -->
<_ShellCommandSeparator Condition="'$(OS)' == 'Windows_NT'">&amp;&amp;</_ShellCommandSeparator>
<_ShellCommandSeparator Condition="'$(OS)' != 'Windows_NT'">&amp;&amp;</_ShellCommandSeparator>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ namespace System.Runtime.InteropServices.JavaScript.Tests
public static class JavaScriptTests
{
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/61945", TestPlatforms.Browser)]
public static void CoreTypes()
{
var arr = new Uint8ClampedArray(50);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

namespace System.Runtime.InteropServices.JavaScript.Tests
{
[ActiveIssue("https://github.com/dotnet/runtime/issues/61945", TestPlatforms.Browser)]
public static class SharedArrayBufferTests
{
private static Function _objectPrototype;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ public static void Float64ArrayFrom(Function objectPrototype)
}

[Theory]
[ActiveIssue("https://github.com/dotnet/runtime/issues/61945", TestPlatforms.Browser)]
[MemberData(nameof(Object_Prototype))]
public static void Uint8ClampedArrayFromSharedArrayBuffer(Function objectPrototype)
{
Expand All @@ -117,6 +118,7 @@ public static void Uint8ClampedArrayFromSharedArrayBuffer(Function objectPrototy
}

[Theory]
[ActiveIssue("https://github.com/dotnet/runtime/issues/61945", TestPlatforms.Browser)]
[MemberData(nameof(Object_Prototype))]
public static void Uint8ArrayFromSharedArrayBuffer(Function objectPrototype)
{
Expand All @@ -126,6 +128,7 @@ public static void Uint8ArrayFromSharedArrayBuffer(Function objectPrototype)
}

[Theory]
[ActiveIssue("https://github.com/dotnet/runtime/issues/61945", TestPlatforms.Browser)]
[MemberData(nameof(Object_Prototype))]
public static void Uint16ArrayFromSharedArrayBuffer(Function objectPrototype)
{
Expand All @@ -135,6 +138,7 @@ public static void Uint16ArrayFromSharedArrayBuffer(Function objectPrototype)
}

[Theory]
[ActiveIssue("https://github.com/dotnet/runtime/issues/61945", TestPlatforms.Browser)]
[MemberData(nameof(Object_Prototype))]
public static void Uint32ArrayFromSharedArrayBuffer(Function objectPrototype)
{
Expand All @@ -144,6 +148,7 @@ public static void Uint32ArrayFromSharedArrayBuffer(Function objectPrototype)
}

[Theory]
[ActiveIssue("https://github.com/dotnet/runtime/issues/61945", TestPlatforms.Browser)]
[MemberData(nameof(Object_Prototype))]
public static void Int8ArrayFromSharedArrayBuffer(Function objectPrototype)
{
Expand All @@ -153,6 +158,7 @@ public static void Int8ArrayFromSharedArrayBuffer(Function objectPrototype)
}

[Theory]
[ActiveIssue("https://github.com/dotnet/runtime/issues/61945", TestPlatforms.Browser)]
[MemberData(nameof(Object_Prototype))]
public static void Int16ArrayFromSharedArrayBuffer(Function objectPrototype)
{
Expand All @@ -162,6 +168,7 @@ public static void Int16ArrayFromSharedArrayBuffer(Function objectPrototype)
}

[Theory]
[ActiveIssue("https://github.com/dotnet/runtime/issues/61945", TestPlatforms.Browser)]
[MemberData(nameof(Object_Prototype))]
public static void Int32ArrayFromSharedArrayBuffer(Function objectPrototype)
{
Expand All @@ -171,6 +178,7 @@ public static void Int32ArrayFromSharedArrayBuffer(Function objectPrototype)
}

[Theory]
[ActiveIssue("https://github.com/dotnet/runtime/issues/61945", TestPlatforms.Browser)]
[MemberData(nameof(Object_Prototype))]
public static void Float32ArrayFromSharedArrayBuffer(Function objectPrototype)
{
Expand All @@ -180,6 +188,7 @@ public static void Float32ArrayFromSharedArrayBuffer(Function objectPrototype)
}

[Theory]
[ActiveIssue("https://github.com/dotnet/runtime/issues/61945", TestPlatforms.Browser)]
[MemberData(nameof(Object_Prototype))]
public static void Float64ArrayFromSharedArrayBuffer(Function objectPrototype)
{
Expand Down
13 changes: 9 additions & 4 deletions src/libraries/sendtohelixhelp.proj
Original file line number Diff line number Diff line change
Expand Up @@ -364,15 +364,20 @@
<WorkItemPrefix Condition="'$(Scenario)' == 'BuildWasmApps' and '$(TestUsingWorkloads)' == 'true'">Workloads-</WorkItemPrefix>
<WorkItemPrefix Condition="'$(Scenario)' == 'BuildWasmApps' and '$(TestUsingWorkloads)' != 'true'">EMSDK-</WorkItemPrefix>
</PropertyGroup>

<!-- Version number to revision number mapping from http://omahaproxy.appspot.com/ and find the closest one in
https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Linux_x64/

Eg. latest stable version is 96.0.4664.45 with revision 929512.
but the closest one available in the snapshosts is 929513
radical marked this conversation as resolved.
Show resolved Hide resolved
-->
<PropertyGroup Condition="'$(TargetOS)' == 'Browser' and '$(BrowserHost)' != 'windows'">
<!-- Version number to revision number mapping from http://omahaproxy.appspot.com/ -->
<!-- 84.0.4147.105 is 768962 for example -->
<ChromiumRevision>768968</ChromiumRevision>
<ChromiumRevision>929513</ChromiumRevision>
<ChromiumUrl>https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/$(ChromiumRevision)/chrome-linux.zip</ChromiumUrl>
<ChromeDriverUrl>https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/$(ChromiumRevision)/chromedriver_linux64.zip</ChromeDriverUrl>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetOS)' == 'Browser' and '$(BrowserHost)' == 'windows'">
<ChromiumRevision>768983</ChromiumRevision>
<ChromiumRevision>929513</ChromiumRevision>
<ChromiumUrl>https://storage.googleapis.com/chromium-browser-snapshots/Win_x64/$(ChromiumRevision)/chrome-win.zip</ChromiumUrl>
<ChromeDriverUrl>https://storage.googleapis.com/chromium-browser-snapshots/Win_x64/$(ChromiumRevision)/chromedriver_win32.zip</ChromeDriverUrl>
</PropertyGroup>
Expand Down
Loading