Skip to content

Commit

Permalink
[wasm] Misc CI/test run improvements (#61937)
Browse files Browse the repository at this point in the history
- Update chrome+chromedriver for helix tests to latest stable (`96.0.4664.45`)
- Enable library tests to run on Windows, for manual runs

- Disable windows/AOT builds completely due to #61721
- Disable failing WBT tests on windows due to #61725
- Disable JS interop tests failing with new chrome - #61945

Co-authored-by: Radek Doulik <radek.doulik@gmail.com>
  • Loading branch information
radical and radekdoulik authored Nov 24, 2021
1 parent b259f68 commit f9dfd41
Show file tree
Hide file tree
Showing 12 changed files with 138 additions and 111 deletions.
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
96 changes: 48 additions & 48 deletions eng/pipelines/runtime-staging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -464,53 +464,7 @@ jobs:
jobParameters:
testGroup: innerloop
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)
buildArgs: -subset mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:BrowserHost=windows $(_runSmokeTestsOnlyArg)
timeoutInMinutes: 180
condition: >-
or(
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
Loading

0 comments on commit f9dfd41

Please sign in to comment.