From 948a64546abaa80487b4652bd238968c437defd2 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Fri, 2 Apr 2021 15:21:01 -0400 Subject: [PATCH 01/11] [wasm] Shift Most of Wasm AOT test build to helix Authored by: Steve Pfister, and Mitchell Hwang --- Directory.Build.props | 1 + eng/pipelines/common/platform-matrix.yml | 2 +- eng/pipelines/runtime-staging.yml | 5 +- eng/pipelines/runtime.yml | 2 +- eng/testing/ILLink.Descriptor.xunit.xml | 7 +- eng/testing/tests.mobile.targets | 51 +++++-- src/libraries/sendtohelixhelp.proj | 16 ++- src/libraries/tests.proj | 145 +++++++------------- src/mono/wasm/build/Directory.Build.Props | 11 ++ src/mono/wasm/build/Directory.Build.Targets | 21 +++ src/mono/wasm/build/aot-build.proj | 56 ++++++++ 11 files changed, 208 insertions(+), 109 deletions(-) create mode 100644 src/mono/wasm/build/Directory.Build.Props create mode 100644 src/mono/wasm/build/Directory.Build.Targets create mode 100644 src/mono/wasm/build/aot-build.proj diff --git a/Directory.Build.props b/Directory.Build.props index be3d42e18ba93..9d024eef3d5c3 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -70,6 +70,7 @@ $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AndroidAppBuilder', 'Debug', '$(NetCoreAppToolCurrent)', 'publish')) $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'WasmAppBuilder', 'Debug', '$(NetCoreAppToolCurrent)', 'publish')) $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'WasmBuildTasks', 'Debug', '$(NetCoreAppToolCurrent)', 'publish')) + $([MSBuild]::NormalizeDirectory('src', 'mono', 'wasm', 'build')) $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'MonoAOTCompiler', 'Debug', '$(NetCoreAppToolCurrent)')) $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'RuntimeConfigParser', 'Debug', '$(NetCoreAppToolCurrent)', 'publish')) diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml index 000d1dcecdfda..b8eb5b253438d 100644 --- a/eng/pipelines/common/platform-matrix.yml +++ b/eng/pipelines/common/platform-matrix.yml @@ -194,7 +194,7 @@ jobs: targetRid: browser-wasm platform: Browser_wasm container: - image: ubuntu-18.04-webassembly-20210223133559-4800846 + image: ubuntu-18.04-webassembly-20210309143118-005aab4 registry: mcr jobParameters: runtimeFlavor: ${{ parameters.runtimeFlavor }} diff --git a/eng/pipelines/runtime-staging.yml b/eng/pipelines/runtime-staging.yml index 0197670b07218..5553de2b32bb9 100644 --- a/eng/pipelines/runtime-staging.yml +++ b/eng/pipelines/runtime-staging.yml @@ -205,8 +205,8 @@ jobs: jobParameters: testGroup: innerloop nameSuffix: AllSubsets_Mono_AOT - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:EnableAggressiveTrimming=true /p:RunAOTCompilation=true - timeoutInMinutes: 120 + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:AOTMode=AotInterp /p:EnableAggressiveTrimming=true /p:RunAOTCompilation=true + timeoutInMinutes: 180 condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), @@ -218,6 +218,7 @@ jobs: extraStepsParameters: creator: dotnet-bot testRunNamePrefixSuffix: Mono_$(_BuildConfig) + extraHelixArguments: /p:RunAOTCompilation=true scenarios: - normal condition: >- diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 476150aad686a..000f31a11e9c0 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -279,7 +279,7 @@ jobs: jobParameters: testGroup: innerloop nameSuffix: AllSubsets_Mono - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:EnableAggressiveTrimming=true timeoutInMinutes: 180 condition: >- or( diff --git a/eng/testing/ILLink.Descriptor.xunit.xml b/eng/testing/ILLink.Descriptor.xunit.xml index 4ddd4e09d883d..f0a9f616a00fe 100644 --- a/eng/testing/ILLink.Descriptor.xunit.xml +++ b/eng/testing/ILLink.Descriptor.xunit.xml @@ -9,7 +9,10 @@ - - + + + + + diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 81246339652ca..1857152a75042 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -14,14 +14,19 @@ + true + + ls -al $HELIX_CORRELATION_PAYLOAD && ls -al $HELIX_CORRELATION_PAYLOAD/build && ls -al $HELIX_CORRELATION_PAYLOAD/build/microsoft.netcore.app.runtime.browser-wasm/runtimes/ && ls -al $HELIX_CORRELATION_PAYLOAD/build/microsoft.netcore.app.runtime.browser-wasm/runtimes/browser-wasm/ && ls -al $HELIX_CORRELATION_PAYLOAD/build/microsoft.netcore.app.runtime.browser-wasm/runtimes/browser-wasm/native/src/ && dotnet msbuild publish/aot-build.proj /p:WasmBuildSupportDir=$HELIX_CORRELATION_PAYLOAD/build /p:EMSDK_PATH=$HELIX_CORRELATION_PAYLOAD/build/emsdk && + - $HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT -- $(RunTestsJSArguments) --run WasmTestRunner.dll $(AssemblyName).dll - $HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT --expected-exit-code=$(ExpectedExitCode) -- $(RunTestsJSArguments) --run $(AssemblyName).dll --testing + $(AOTScriptCommand)$HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT -- $(RunTestsJSArguments) --run WasmTestRunner.dll $(AssemblyName).dll + $(AOTScriptCommand)$HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT --expected-exit-code=$(ExpectedExitCode) -- $(RunTestsJSArguments) --run $(AssemblyName).dll --testing false - true + false false false - false + true @@ -163,7 +168,7 @@ - @@ -244,14 +249,44 @@ - - + + PrepareForWasmBuildApp;$(WasmBuildAppDependsOn) $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'emsdk')) - + + + + + + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'emsdk')) + true + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + @@ -404,7 +359,8 @@ Exclude="@(ProjectExclusions)" BuildInParallel="false" /> - + + + + <_WasmTargetsDir Condition="'$(RuntimeSrcDir)' != ''">$(RuntimeSrcDir)\src\mono\wasm\build\ + <_WasmTargetsDir Condition="'$(WasmBuildSupportDir)' != ''">$(WasmBuildSupportDir)\wasm\ + $(WasmBuildSupportDir)\emsdk\ + + + + PrepareForWasmBuild;$(WasmBuildAppDependsOn) + + \ No newline at end of file diff --git a/src/mono/wasm/build/Directory.Build.Targets b/src/mono/wasm/build/Directory.Build.Targets new file mode 100644 index 0000000000000..02587fe83d6f7 --- /dev/null +++ b/src/mono/wasm/build/Directory.Build.Targets @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/mono/wasm/build/aot-build.proj b/src/mono/wasm/build/aot-build.proj new file mode 100644 index 0000000000000..795e4d975e322 --- /dev/null +++ b/src/mono/wasm/build/aot-build.proj @@ -0,0 +1,56 @@ + + + + true + System.Buffers.Tests + $(HELIX_WORKITEM_ROOT) + $(TestRootDir) + $(HELIX_CORRELATION_PAYLOAD)/build/microsoft.netcore.app.runtime.browser-wasm/ + $(TestRootDir)/publish/ + $(HELIX_WORKITEM_ROOT)\obj + $(HELIX_CORRELATION_PAYLOAD)/build/WasmAppBuilder/WasmAppBuilder.dll + $(HELIX_CORRELATION_PAYLOAD)/build/MonoAOTCompiler/MonoAOTCompiler.dll + $(HELIX_CORRELATION_PAYLOAD)/build/microsoft.netcore.app.runtime.browser-wasm/runtimes/browser-wasm/ + false + true + $(MicrosoftNETCoreAppRuntimePackRidDir)native/cross/browser-wasm/mono-aot-cross + + + + + + + + PrepareForWasmBuildApp;$(WasmBuildAppDependsOn) + + + + + + + + + $(BundleDir) + $(TestRootDir)\publish\WasmTestRunner.dll + $(TestRootDir)\publish\runtime-test.js + true + true + + + + + + $([System.IO.Directory]::GetParent('%(Identity)').Name) + + + + + + + + + + + From 0f3c070000bd94ceb3148e691ebcc660d6eb9b82 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Sun, 4 Apr 2021 17:34:54 -0400 Subject: [PATCH 02/11] [wasm][aot] Use existing bits to package emsdk, and others to build apps .. on helix. - Essentially, we are building the test assembly on the build machine - then we package that up, with bits required to be able to "wasm-app-ify" the assembly on Helix - We already do parts of it for wasm build tests, so make use of that - Also, fix bugs in recreating the test project on helix, eg. files to be included in the VFS. - Since, the AOT tests will be run with `EnableAggressiveTrimming=true`, some issues can be due to the trimming itself. - to help isolate such issues, we want to be able to build in the *same* way (on helix), with just EAT - so, this commit helps facilitate that --- .../ILLink.Descriptor.TestUtilities.xml | 5 ++ eng/testing/ILLink.Descriptor.xunit.xml | 3 - eng/testing/tests.mobile.targets | 90 ++++++++++--------- src/libraries/sendtohelix.proj | 2 +- src/libraries/sendtohelixhelp.proj | 23 ++--- src/libraries/tests.proj | 8 +- src/mono/wasm/Makefile | 2 +- src/mono/wasm/build/aot-build.proj | 56 ------------ .../aot-tests/Directory.Build.props} | 4 +- .../aot-tests/Directory.Build.targets} | 2 +- src/mono/wasm/data/aot-tests/aot-build.proj | 42 +++++++++ 11 files changed, 113 insertions(+), 124 deletions(-) create mode 100644 eng/testing/ILLink.Descriptor.TestUtilities.xml delete mode 100644 src/mono/wasm/build/aot-build.proj rename src/mono/wasm/{build/Directory.Build.Props => data/aot-tests/Directory.Build.props} (82%) rename src/mono/wasm/{build/Directory.Build.Targets => data/aot-tests/Directory.Build.targets} (99%) create mode 100644 src/mono/wasm/data/aot-tests/aot-build.proj diff --git a/eng/testing/ILLink.Descriptor.TestUtilities.xml b/eng/testing/ILLink.Descriptor.TestUtilities.xml new file mode 100644 index 0000000000000..ac7e328c9038e --- /dev/null +++ b/eng/testing/ILLink.Descriptor.TestUtilities.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/eng/testing/ILLink.Descriptor.xunit.xml b/eng/testing/ILLink.Descriptor.xunit.xml index f0a9f616a00fe..eb99fc4d0039b 100644 --- a/eng/testing/ILLink.Descriptor.xunit.xml +++ b/eng/testing/ILLink.Descriptor.xunit.xml @@ -12,7 +12,4 @@ - - - diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 1857152a75042..509a74ccfad93 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -13,15 +13,27 @@ true - - true + + helix + helix + local + - ls -al $HELIX_CORRELATION_PAYLOAD && ls -al $HELIX_CORRELATION_PAYLOAD/build && ls -al $HELIX_CORRELATION_PAYLOAD/build/microsoft.netcore.app.runtime.browser-wasm/runtimes/ && ls -al $HELIX_CORRELATION_PAYLOAD/build/microsoft.netcore.app.runtime.browser-wasm/runtimes/browser-wasm/ && ls -al $HELIX_CORRELATION_PAYLOAD/build/microsoft.netcore.app.runtime.browser-wasm/runtimes/browser-wasm/native/src/ && dotnet msbuild publish/aot-build.proj /p:WasmBuildSupportDir=$HELIX_CORRELATION_PAYLOAD/build /p:EMSDK_PATH=$HELIX_CORRELATION_PAYLOAD/build/emsdk && + + find $HELIX_CORRELATION_PAYLOAD -type d ; find . + $(RunScriptCommand); dotnet msbuild publish/aot-build.proj /p:WasmBuildSupportDir=$HELIX_CORRELATION_PAYLOAD/build /bl:$XHARNESS_OUT/AOTBuild.binlog + $(RunScriptCommand) /p:RunAOTCompilation=$(RunAOTCompilation) + $(RunScriptCommand) && cd AppBundle && + + + - $(AOTScriptCommand)$HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT -- $(RunTestsJSArguments) --run WasmTestRunner.dll $(AssemblyName).dll - $(AOTScriptCommand)$HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT --expected-exit-code=$(ExpectedExitCode) -- $(RunTestsJSArguments) --run $(AssemblyName).dll --testing + $(RunScriptCommand) $HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT -- $(RunTestsJSArguments) --run WasmTestRunner.dll $(AssemblyName).dll + $(RunScriptCommand) $HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT --expected-exit-code=$(ExpectedExitCode) -- $(RunTestsJSArguments) --run $(AssemblyName).dll --testing + + + false false false @@ -245,61 +257,53 @@ + + Condition="'$(TargetOS)' == 'Browser' and '$(BuildWasmTestsOn)' == 'local'" /> - + Condition="'$(TargetOS)' == 'Browser' and '$(BuildWasmTestsOn)' == 'local'" /> + + PrepareForWasmBuildApp;$(WasmBuildAppDependsOn) - $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'emsdk')) - + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'emsdk')) - + WasmBuildApp + StageEmSdkForHelix - + $(BundleTestWasmAppDependsOn);_BundleAOTTestWasmAppForHelix + - - $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'emsdk')) - true - - - - - - - - - + - + + + + + - - + + - + + - - + + - - + + @@ -321,10 +325,16 @@ - + + <_CopyLocalPaths Include="@(ReferenceCopyLocalPaths)" Condition="'%(ReferenceCopyLocalPaths.BuildReference)' == 'true' and !$([System.String]::new('%(ReferenceCopyLocalPaths.Identity)').EndsWith('.resources.dll'))" /> + <_CopyLocalPaths TargetPath="%(_CopyLocalPaths.RelativePath)" Condition="'%(_CopyLocalPaths.RelativePath)' != ''" /> + <_CopyLocalPaths TargetPath="%(FileName)%(Extension)" Condition="'%(_CopyLocalPaths.RelativePath)' == ''" /> + + + - + diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index 4d113c917f7b5..1b71fe2f063c4 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -62,7 +62,7 @@ <_ProjectsToBuild Include="$(PerScenarioProjectFile)"> - $(_PropertiesToPass);Scenario=%(_Scenarios.Identity);TestArchiveRuntimeFile=$(TestArchiveRuntimeFile) + $(_PropertiesToPass);Scenario=%(_Scenarios.Identity);TestArchiveRuntimeFile=$(TestArchiveRuntimeFile);NeedsToBuildWasmAppsOnHelix=$(NeedsToBuildWasmAppsOnHelix) diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index 190de503e9fbf..d326ebfae5310 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -50,6 +50,7 @@ $(TestRunNamePrefix)$(Scenario)- $(WaitForWorkItemCompletion) + true @@ -69,13 +70,6 @@ test/functional/packaging/ - - true - sdk - $([System.IO.File]::ReadAllText('$(RepoRoot)global.json')) - $([System.Text.RegularExpressions.Regex]::Match($(GlobalJsonContent), '(%3F<="dotnet": ").*(%3F=")')) - - true @@ -111,7 +105,7 @@ - + true true sdk @@ -216,7 +210,6 @@ - ios-simulator-64 @@ -263,6 +256,8 @@ $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'build')) + + $(HelixPostCommands); @@ -274,8 +269,8 @@ - - + + @@ -287,12 +282,6 @@ Condition="'$(IncludeHelixCorrelationPayload)' == 'true' and '$(TargetOS)' != 'Browser'" /> - - - - - - <_WorkItem Include="$(WorkItemArchiveWildCard)" Exclude="$(HelixCorrelationPayload)" /> <_WorkItem Include="$(TestArchiveRoot)runonly/**/WebAssembly.Console.*.Test.zip" Condition="'$(TargetOS)' == 'Browser' and '$(Scenario)' != 'WasmTestOnBrowser' and '$(Scenario)' != 'BuildWasmApps'" /> diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index f2a9d814e3a7c..33eac6d3180eb 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -205,7 +205,7 @@ - + @@ -223,9 +223,9 @@ - - - + + + diff --git a/src/mono/wasm/Makefile b/src/mono/wasm/Makefile index 4777abfb104c0..83216f5741331 100644 --- a/src/mono/wasm/Makefile +++ b/src/mono/wasm/Makefile @@ -184,7 +184,7 @@ run-tests-jsc-%: PATH="$(JSVU):$(PATH)" $(DOTNET) build $(TOP)/src/libraries/$*/tests/ /t:Test $(_MSBUILD_WASM_BUILD_ARGS) /p:JSEngine=JavaScriptCore $(MSBUILD_ARGS) run-tests-%: - PATH="$(JSVU):$(PATH)" $(DOTNET) build $(TOP)/src/libraries/$*/tests/ /t:Test $(_MSBUILD_WASM_BUILD_ARGS) $(MSBUILD_ARGS) + EMSDK_PATH=$(EMSDK_PATH) PATH="$(JSVU):$(PATH)" $(DOTNET) build $(TOP)/src/libraries/$*/tests/ /t:Test $(_MSBUILD_WASM_BUILD_ARGS) $(MSBUILD_ARGS) run-build-tests: PATH="$(JSVU):$(PATH)" $(DOTNET) build $(TOP)/src/tests/BuildWasmApps/Wasm.Build.Tests/ /t:Test $(_MSBUILD_WASM_BUILD_ARGS) $(MSBUILD_ARGS) diff --git a/src/mono/wasm/build/aot-build.proj b/src/mono/wasm/build/aot-build.proj deleted file mode 100644 index 795e4d975e322..0000000000000 --- a/src/mono/wasm/build/aot-build.proj +++ /dev/null @@ -1,56 +0,0 @@ - - - - true - System.Buffers.Tests - $(HELIX_WORKITEM_ROOT) - $(TestRootDir) - $(HELIX_CORRELATION_PAYLOAD)/build/microsoft.netcore.app.runtime.browser-wasm/ - $(TestRootDir)/publish/ - $(HELIX_WORKITEM_ROOT)\obj - $(HELIX_CORRELATION_PAYLOAD)/build/WasmAppBuilder/WasmAppBuilder.dll - $(HELIX_CORRELATION_PAYLOAD)/build/MonoAOTCompiler/MonoAOTCompiler.dll - $(HELIX_CORRELATION_PAYLOAD)/build/microsoft.netcore.app.runtime.browser-wasm/runtimes/browser-wasm/ - false - true - $(MicrosoftNETCoreAppRuntimePackRidDir)native/cross/browser-wasm/mono-aot-cross - - - - - - - - PrepareForWasmBuildApp;$(WasmBuildAppDependsOn) - - - - - - - - - $(BundleDir) - $(TestRootDir)\publish\WasmTestRunner.dll - $(TestRootDir)\publish\runtime-test.js - true - true - - - - - - $([System.IO.Directory]::GetParent('%(Identity)').Name) - - - - - - - - - - - diff --git a/src/mono/wasm/build/Directory.Build.Props b/src/mono/wasm/data/aot-tests/Directory.Build.props similarity index 82% rename from src/mono/wasm/build/Directory.Build.Props rename to src/mono/wasm/data/aot-tests/Directory.Build.props index 6506043ea4578..fbb16f2124aec 100644 --- a/src/mono/wasm/build/Directory.Build.Props +++ b/src/mono/wasm/data/aot-tests/Directory.Build.props @@ -1,5 +1,7 @@ + $(HELIX_CORRELATION_PAYLOAD)\build\ + <_WasmTargetsDir Condition="'$(RuntimeSrcDir)' != ''">$(RuntimeSrcDir)\src\mono\wasm\build\ <_WasmTargetsDir Condition="'$(WasmBuildSupportDir)' != ''">$(WasmBuildSupportDir)\wasm\ $(WasmBuildSupportDir)\emsdk\ @@ -8,4 +10,4 @@ PrepareForWasmBuild;$(WasmBuildAppDependsOn) - \ No newline at end of file + diff --git a/src/mono/wasm/build/Directory.Build.Targets b/src/mono/wasm/data/aot-tests/Directory.Build.targets similarity index 99% rename from src/mono/wasm/build/Directory.Build.Targets rename to src/mono/wasm/data/aot-tests/Directory.Build.targets index 02587fe83d6f7..5f8bd42de2250 100644 --- a/src/mono/wasm/build/Directory.Build.Targets +++ b/src/mono/wasm/data/aot-tests/Directory.Build.targets @@ -18,4 +18,4 @@ - \ No newline at end of file + diff --git a/src/mono/wasm/data/aot-tests/aot-build.proj b/src/mono/wasm/data/aot-tests/aot-build.proj new file mode 100644 index 0000000000000..b0b428dfa9619 --- /dev/null +++ b/src/mono/wasm/data/aot-tests/aot-build.proj @@ -0,0 +1,42 @@ + + + + true + $(HELIX_WORKITEM_ROOT)\ + $(TestRootDir)AppBundle\ + $(HELIX_WORKITEM_ROOT)\obj + false + false + true + false + + PrepareForWasmBuildApp;$(WasmBuildAppDependsOn) + + + + + + + $(BundleDir) + $(TestRootDir)\publish\WasmTestRunner.dll + $(TestRootDir)\publish\runtime-test.js + true + true + + + + + + $([System.IO.Directory]::GetParent('%(Identity)').Name) + + + + + + <_ExtraFiles Include="$(TestRootDir)\extraFiles\**\*" /> + + + + + From 5bd6d01285222642ef002258abf8724cf49b88e7 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Sun, 4 Apr 2021 17:43:03 -0400 Subject: [PATCH 03/11] [wasm] re-enable system.reflection tests, which are fixed with earlier commit --- src/libraries/tests.proj | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 33eac6d3180eb..dea1d4643900e 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -223,9 +223,6 @@ - - - From 7b977a4cb28c0d1404be74f40245e7636a44b984 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Sun, 4 Apr 2021 17:45:05 -0400 Subject: [PATCH 04/11] Trying on CI now --- eng/pipelines/runtime-staging.yml | 407 ++++++++++++++++-------------- eng/pipelines/runtime.yml | 278 ++++++++++---------- src/libraries/tests.proj | 80 +++--- 3 files changed, 402 insertions(+), 363 deletions(-) diff --git a/eng/pipelines/runtime-staging.yml b/eng/pipelines/runtime-staging.yml index 5553de2b32bb9..f480cb5e9e37b 100644 --- a/eng/pipelines/runtime-staging.yml +++ b/eng/pipelines/runtime-staging.yml @@ -57,94 +57,133 @@ jobs: # # Build the whole product using Mono and run libraries tests # -- 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: - - Android_x86 - - Android_x64 - - iOSSimulator_x64 - - tvOSSimulator_x64 - 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: AllSubsets_Mono - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true - 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['isFullMatrix'], true)) - # extra steps, run tests - extraStepsTemplate: /eng/pipelines/libraries/helix.yml - extraStepsParameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_$(_BuildConfig) - condition: >- - or( - eq(variables['librariesContainsChange'], true), - eq(variables['monoContainsChange'], 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: + #- Android_x86 + #- Android_x64 + #- iOSSimulator_x64 + #- tvOSSimulator_x64 + #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: AllSubsets_Mono + #buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true + #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['isFullMatrix'], true)) + ## extra steps, run tests + #extraStepsTemplate: /eng/pipelines/libraries/helix.yml + #extraStepsParameters: + #creator: dotnet-bot + #testRunNamePrefixSuffix: Mono_$(_BuildConfig) + #condition: >- + #or( + #eq(variables['librariesContainsChange'], true), + #eq(variables['monoContainsChange'], 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: - - Android_arm64 - 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: AllSubsets_Mono - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true - 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['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: + #- Android_arm64 + #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: AllSubsets_Mono + #buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true + #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['isFullMatrix'], true)) - # don't run tests on PRs until we get more Android devices: https://github.com/dotnet/core-eng/issues/11781 - ${{ if eq(variables['isFullMatrix'], true) }}: - # extra steps, run tests - extraStepsTemplate: /eng/pipelines/libraries/helix.yml - extraStepsParameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_$(_BuildConfig) - condition: >- - or( - eq(variables['librariesContainsChange'], true), - eq(variables['monoContainsChange'], true), - eq(variables['isFullMatrix'], true)) + ## don't run tests on PRs until we get more Android devices: https://github.com/dotnet/core-eng/issues/11781 + #${{ if eq(variables['isFullMatrix'], true) }}: + ## extra steps, run tests + #extraStepsTemplate: /eng/pipelines/libraries/helix.yml + #extraStepsParameters: + #creator: dotnet-bot + #testRunNamePrefixSuffix: Mono_$(_BuildConfig) + #condition: >- + #or( + #eq(variables['librariesContainsChange'], true), + #eq(variables['monoContainsChange'], true), + #eq(variables['isFullMatrix'], true)) -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: Release - platforms: - - Android_arm - jobParameters: - testGroup: innerloop - nameSuffix: Build_Subset_Mono - buildArgs: -subset mono+libs +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #buildConfig: Release + #platforms: + #- Android_arm + #jobParameters: + #testGroup: innerloop + #nameSuffix: Build_Subset_Mono + #buildArgs: -subset mono+libs + +## +## Build the whole product using Mono and run libraries tests +## +#- 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: + #- Windows_x64 + #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: + #testScope: innerloop + #nameSuffix: AllSubsets_Mono + #buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true + #timeoutInMinutes: 120 + #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['isFullMatrix'], true)) + ## extra steps, run tests + #extraStepsTemplate: /eng/pipelines/libraries/helix.yml + #extraStepsParameters: + #creator: dotnet-bot + #testRunNamePrefixSuffix: Mono_$(_BuildConfig) + #condition: >- + #or( + #eq(variables['librariesContainsChange'], true), + #eq(variables['monoContainsChange'], true), + #eq(variables['isFullMatrix'], true)) # # Build the whole product using Mono and run libraries tests @@ -156,7 +195,7 @@ jobs: buildConfig: Release runtimeFlavor: mono platforms: - - Windows_x64 + - Browser_wasm variables: # map dependencies variables to local variables - name: librariesContainsChange @@ -164,10 +203,10 @@ jobs: - name: monoContainsChange value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] jobParameters: - testScope: innerloop - nameSuffix: AllSubsets_Mono - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true - timeoutInMinutes: 120 + testGroup: innerloop + nameSuffix: AllSubsets_Mono_AOT + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:EnableAggressiveTrimming=true /p:BuildWasmAOTTestsOnHelix=true /p:RunAOTCompilation=true + timeoutInMinutes: 180 condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), @@ -179,15 +218,15 @@ jobs: extraStepsParameters: creator: dotnet-bot testRunNamePrefixSuffix: Mono_$(_BuildConfig) + extraHelixArguments: /p:NeedsToBuildWasmAppsOnHelix=true + scenarios: + - normal condition: >- or( eq(variables['librariesContainsChange'], true), eq(variables['monoContainsChange'], true), eq(variables['isFullMatrix'], true)) -# -# Build the whole product using Mono and run libraries tests -# - template: /eng/pipelines/common/platform-matrix.yml parameters: jobTemplate: /eng/pipelines/common/global-build-job.yml @@ -204,8 +243,8 @@ jobs: value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] jobParameters: testGroup: innerloop - nameSuffix: AllSubsets_Mono_AOT - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:AOTMode=AotInterp /p:EnableAggressiveTrimming=true /p:RunAOTCompilation=true + nameSuffix: AllSubsets_Mono_EAT + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:EnableAggressiveTrimming=true /p:BuildWasmAOTTestsOnHelix=true /p:RunAOTCompilation=false timeoutInMinutes: 180 condition: >- or( @@ -218,7 +257,7 @@ jobs: extraStepsParameters: creator: dotnet-bot testRunNamePrefixSuffix: Mono_$(_BuildConfig) - extraHelixArguments: /p:RunAOTCompilation=true + extraHelixArguments: /p:NeedsToBuildWasmAppsOnHelix=true scenarios: - normal condition: >- @@ -230,94 +269,94 @@ jobs: # # Build the whole product using Mono for Android and run runtime tests with Android emulator # -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml - buildConfig: Release - runtimeFlavor: mono - platforms: - - Android_x64 - #- Android_arm64 # disabled due to https://github.com/dotnet/runtime/issues/47850 - variables: - - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}: - - name: _HelixSource - value: pr/dotnet/runtime/$(Build.SourceBranch) - - ${{ if and(eq(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}: - - name: _HelixSource - value: ci/dotnet/runtime/$(Build.SourceBranch) - - name: timeoutPerTestInMinutes - value: 60 - - name: timeoutPerTestCollectionInMinutes - value: 180 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_RuntimeTests - buildArgs: -s mono+libs -c $(_BuildConfig) - timeoutInMinutes: 240 - condition: >- - or( - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - eq(variables['isFullMatrix'], true)) - # extra steps, run tests - extraStepsTemplate: /eng/pipelines/common/templates/runtimes/android-runtime-and-send-to-helix.yml - extraStepsParameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_$(_BuildConfig) +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml + #buildConfig: Release + #runtimeFlavor: mono + #platforms: + #- Android_x64 + ##- Android_arm64 # disabled due to https://github.com/dotnet/runtime/issues/47850 + #variables: + #- ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}: + #- name: _HelixSource + #value: pr/dotnet/runtime/$(Build.SourceBranch) + #- ${{ if and(eq(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}: + #- name: _HelixSource + #value: ci/dotnet/runtime/$(Build.SourceBranch) + #- name: timeoutPerTestInMinutes + #value: 60 + #- name: timeoutPerTestCollectionInMinutes + #value: 180 + #jobParameters: + #testGroup: innerloop + #nameSuffix: AllSubsets_Mono_RuntimeTests + #buildArgs: -s mono+libs -c $(_BuildConfig) + #timeoutInMinutes: 240 + #condition: >- + #or( + #eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + #eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + #eq(variables['isFullMatrix'], true)) + ## extra steps, run tests + #extraStepsTemplate: /eng/pipelines/common/templates/runtimes/android-runtime-and-send-to-helix.yml + #extraStepsParameters: + #creator: dotnet-bot + #testRunNamePrefixSuffix: Mono_$(_BuildConfig) -# Run disabled installer tests on Linux x64 -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: Release - platforms: - - Linux_x64 - jobParameters: - nameSuffix: Installer_Tests - isOfficialBuild: ${{ variables.isOfficialBuild }} - buildArgs: -s clr+libs+host+packs -restore -build -test -c $(_BuildConfig) -lc Debug /p:PortableBuild=true /p:RunOnStaging=true - useContinueOnErrorDuringBuild: true - enablePublisTestResults: true - testResultsFormat: xunit +## Run disabled installer tests on Linux x64 +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #buildConfig: Release + #platforms: + #- Linux_x64 + #jobParameters: + #nameSuffix: Installer_Tests + #isOfficialBuild: ${{ variables.isOfficialBuild }} + #buildArgs: -s clr+libs+host+packs -restore -build -test -c $(_BuildConfig) -lc Debug /p:PortableBuild=true /p:RunOnStaging=true + #useContinueOnErrorDuringBuild: true + #enablePublisTestResults: true + #testResultsFormat: xunit -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - platforms: - - Browser_wasm_win - jobParameters: - testGroup: innerloop - nameSuffix: Browser_wasm_Windows - buildArgs: -subset mono+libs /p:RuntimeFlavor=Mono -c $(_BuildConfig) +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #buildConfig: release + #platforms: + #- Browser_wasm_win + #jobParameters: + #testGroup: innerloop + #nameSuffix: Browser_wasm_Windows + #buildArgs: -subset mono+libs /p:RuntimeFlavor=Mono -c $(_BuildConfig) -# -# CoreCLR Build for running Apple Silicon libraries-innerloop -# -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml - buildConfig: release - platforms: - - ${{ if eq(variables['isFullMatrix'], true) }}: - - OSX_arm64 - jobParameters: - testGroup: innerloop -# -# Libraries Build for running Apple Silicon libraries-innerloop -# -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/libraries/build-job.yml - buildConfig: Release - platforms: - - ${{ if eq(variables['isFullMatrix'], true) }}: - - OSX_arm64 - helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml - jobParameters: - isOfficialBuild: ${{ variables['isOfficialBuild'] }} - isFullMatrix: ${{ variables['isFullMatrix'] }} - runTests: true - testScope: innerloop - liveRuntimeBuildConfig: release +## +## CoreCLR Build for running Apple Silicon libraries-innerloop +## +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml + #buildConfig: release + #platforms: + #- ${{ if eq(variables['isFullMatrix'], true) }}: + #- OSX_arm64 + #jobParameters: + #testGroup: innerloop +## +## Libraries Build for running Apple Silicon libraries-innerloop +## +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/libraries/build-job.yml + #buildConfig: Release + #platforms: + #- ${{ if eq(variables['isFullMatrix'], true) }}: + #- OSX_arm64 + #helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml + #jobParameters: + #isOfficialBuild: ${{ variables['isOfficialBuild'] }} + #isFullMatrix: ${{ variables['isFullMatrix'] }} + #runTests: true + #testScope: innerloop + #liveRuntimeBuildConfig: release diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 000f31a11e9c0..23d2d7cfd4728 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -216,48 +216,48 @@ jobs: # Build the whole product using Mono runtime # Only when libraries, mono or installer are changed # -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} - runtimeFlavor: mono - platforms: - - MacCatalyst_x64 - - MacCatalyst_arm64 - - tvOSSimulator_x64 - - iOSSimulator_x86 - - iOS_arm64 - - Linux_arm - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - 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['isFullMatrix'], true)) +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} + #runtimeFlavor: mono + #platforms: + #- MacCatalyst_x64 + #- MacCatalyst_arm64 + #- tvOSSimulator_x64 + #- iOSSimulator_x86 + #- iOS_arm64 + #- Linux_arm + #jobParameters: + #testGroup: innerloop + #nameSuffix: AllSubsets_Mono + #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + #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['isFullMatrix'], true)) -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: Release - runtimeFlavor: mono - platforms: - - tvOS_arm64 - - iOS_arm - - Linux_musl_x64 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - 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['isFullMatrix'], true)) +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #buildConfig: Release + #runtimeFlavor: mono + #platforms: + #- tvOS_arm64 + #- iOS_arm + #- Linux_musl_x64 + #jobParameters: + #testGroup: innerloop + #nameSuffix: AllSubsets_Mono + #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + #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['isFullMatrix'], true)) # # Build the whole product using Mono and run libraries tests, multi-scenario @@ -279,7 +279,7 @@ jobs: jobParameters: testGroup: innerloop nameSuffix: AllSubsets_Mono - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:EnableAggressiveTrimming=true + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true timeoutInMinutes: 180 condition: >- or( @@ -303,26 +303,26 @@ jobs: eq(variables['isFullMatrix'], true)) # Build and test libraries under single-file publishing -- 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 - platforms: - - windows_x64 - - Linux_x64 - jobParameters: - testGroup: innerloop - isFullMatrix: ${{ variables.isFullMatrix }} - isSingleFile: true - nameSuffix: SingleFile - buildArgs: -s clr+libs+libs.tests -c $(_BuildConfig) /p:TestSingleFile=true /p:ArchiveTests=true - timeoutInMinutes: 120 - # extra steps, run tests - extraStepsTemplate: /eng/pipelines/libraries/helix.yml - extraStepsParameters: - creator: dotnet-bot - testRunNamePrefixSuffix: SingleFile_$(_BuildConfig) +#- 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 + #platforms: + #- windows_x64 + #- Linux_x64 + #jobParameters: + #testGroup: innerloop + #isFullMatrix: ${{ variables.isFullMatrix }} + #isSingleFile: true + #nameSuffix: SingleFile + #buildArgs: -s clr+libs+libs.tests -c $(_BuildConfig) /p:TestSingleFile=true /p:ArchiveTests=true + #timeoutInMinutes: 120 + ## extra steps, run tests + #extraStepsTemplate: /eng/pipelines/libraries/helix.yml + #extraStepsParameters: + #creator: dotnet-bot + #testRunNamePrefixSuffix: SingleFile_$(_BuildConfig) # # Build the whole product using Mono and run runtime tests @@ -365,86 +365,86 @@ jobs: # # Build Mono and Installer on LLVMJIT mode # -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: Release - runtimeFlavor: mono - platforms: - - OSX_x64 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_LLVMJIT - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false - 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['isFullMatrix'], true)) +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #buildConfig: Release + #runtimeFlavor: mono + #platforms: + #- OSX_x64 + #jobParameters: + #testGroup: innerloop + #nameSuffix: AllSubsets_Mono_LLVMJIT + #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + #/p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false + #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['isFullMatrix'], true)) -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} - runtimeFlavor: mono - platforms: - - Linux_x64 - - Linux_arm64 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_LLVMJIT - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false - 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['isFullMatrix'], true)) +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} + #runtimeFlavor: mono + #platforms: + #- Linux_x64 + #- Linux_arm64 + #jobParameters: + #testGroup: innerloop + #nameSuffix: AllSubsets_Mono_LLVMJIT + #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + #/p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false + #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['isFullMatrix'], true)) -# -# Build Mono and Installer on LLVMAOT mode -# -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: Release - runtimeFlavor: mono - platforms: - - Linux_x64 - - Linux_arm64 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_LLVMAOT - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true - 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['isFullMatrix'], true)) +## +## Build Mono and Installer on LLVMAOT mode +## +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #buildConfig: Release + #runtimeFlavor: mono + #platforms: + #- Linux_x64 + #- Linux_arm64 + #jobParameters: + #testGroup: innerloop + #nameSuffix: AllSubsets_Mono_LLVMAOT + #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + #/p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true + #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['isFullMatrix'], true)) -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} - runtimeFlavor: mono - platforms: - - OSX_x64 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_LLVMAOT - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true - 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['isFullMatrix'], true)) +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} + #runtimeFlavor: mono + #platforms: + #- OSX_x64 + #jobParameters: + #testGroup: innerloop + #nameSuffix: AllSubsets_Mono_LLVMAOT + #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + #/p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true + #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['isFullMatrix'], true)) # # Build Mono debug diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index dea1d4643900e..16e3b9c6d27a0 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -206,46 +206,46 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From b859c851d0e7db02a27c5565af62bba79dd5c9bf Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Sun, 4 Apr 2021 20:05:32 -0400 Subject: [PATCH 05/11] [wasm][tests][eat] disable System.Linq.Expression tests ``` /_/src/libraries/System.Linq.Expressions/tests/Member/MemberAccessTests.cs(503,82): Trim analysis error IL2103: System.Linq.Expressions.Tests.MemberAccessTests.<>c.b__38_0(): Value passed to the '#1' parameter of method 'System.Linq.Expressions.MemberExpression System.Linq.Expressions.Expression::Property(System.Linq.Expressions.Expression,System.Reflection.MethodInfo)' cannot be statically determined as a property accessor. [/__w/1/s/src/libraries/System.Linq.Expressions/tests/System.Linq.Expressions.Tests.csproj] /_/src/libraries/System.Linq.Expressions/tests/Member/MemberAccessTests.cs(504,82): Trim analysis error IL2103: System.Linq.Expressions.Tests.MemberAccessTests.<>c.b__38_1(): Value passed to the '#1' parameter of method 'System.Linq.Expressions.MemberExpression System.Linq.Expressions.Expression::Property(System.Linq.Expressions.Expression,System.Reflection.MethodInfo)' cannot be statically determined as a property accessor. [/__w/1/s/src/libraries/System.Linq.Expressions/tests/System.Linq.Expressions.Tests.csproj] /_/src/libraries/System.Linq.Expressions/tests/Member/MemberAccessTests.cs(459,74): Trim analysis error IL2103: System.Linq.Expressions.Tests.MemberAccessTests.<>c.b__33_3(): Value passed to the '#1' parameter of method 'System.Linq.Expressions.MemberExpression System.Linq.Expressions.Expression::Property(System.Linq.Expressions.Expression,System.Reflection.MethodInfo)' cannot be statically determined as a property accessor. [/__w/1/s/src/libraries/System.Linq.Expressions/tests/System.Linq.Expressions.Tests.csproj] /_/src/libraries/System.Linq.Expressions/tests/Member/MemberAccessTests.cs(511,82): Trim analysis error IL2103: System.Linq.Expressions.Tests.MemberAccessTests.<>c.b__39_0(): Value passed to the '#1' parameter of method 'System.Linq.Expressions.MemberExpression System.Linq.Expressions.Expression::Property(System.Linq.Expressions.Expression,System.Reflection.MethodInfo)' cannot be statically determined as a property accessor. [/__w/1/s/src/libraries/System.Linq.Expressions/tests/System.Linq.Expressions.Tests.csproj] /_/src/libraries/System.Linq.Expressions/tests/Member/MemberAccessTests.cs(448,76): Trim analysis error IL2103: System.Linq.Expressions.Tests.MemberAccessTests.<>c__DisplayClass32_0.b__2(): Value passed to the '#1' parameter of method 'System.Linq.Expressions.MemberExpression System.Linq.Expressions.Expression::Property(System.Linq.Expressions.Expression,System.Reflection.MethodInfo)' cannot be statically determined as a property accessor. [/__w/1/s/src/libraries/System.Linq.Expressions/tests/System.Linq.Expressions.Tests.csproj] /_/src/libraries/System.Linq.Expressions/tests/Member/MemberAccessTests.cs(472,76): Trim analysis error IL2103: System.Linq.Expressions.Tests.MemberAccessTests.<>c__DisplayClass34_0.b__3(): Value passed to the '#1' parameter of method 'System.Linq.Expressions.MemberExpression System.Linq.Expressions.Expression::Property(System.Linq.Expressions.Expression,System.Reflection.MethodInfo)' cannot be statically determined as a property accessor. [/__w/1/s/src/libraries/System.Linq.Expressions/tests/System.Linq.Expressions.Tests.csproj] /_/src/libraries/System.Linq.Expressions/tests/Member/MemberAccessTests.cs(482,74): Trim analysis error IL2103: System.Linq.Expressions.Tests.MemberAccessTests.<>c__DisplayClass35_0.b__2(): Value passed to the '#1' parameter of method 'System.Linq.Expressions.MemberExpression System.Linq.Expressions.Expression::Property(System.Linq.Expressions.Expression,System.Reflection.MethodInfo)' cannot be statically determined as a property accessor. [/__w/1/s/src/libraries/System.Linq.Expressions/tests/System.Linq.Expressions.Tests.csproj] ``` --- src/libraries/tests.proj | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 16e3b9c6d27a0..fa77fbf270365 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -206,6 +206,9 @@ + + + @@ -220,7 +223,6 @@ - From 102d58338519271ea80600cb9edc006951c4b5f0 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Mon, 5 Apr 2021 00:48:47 -0400 Subject: [PATCH 06/11] [wasm] Disable failing tests, and add tracking issues --- src/libraries/tests.proj | 100 ++++++++++++++++++++++++--------------- 1 file changed, 61 insertions(+), 39 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index fa77fbf270365..72b395ad40a68 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -209,45 +209,67 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From cc5ca0d58fa1468039fc176f14c5f9283525960f Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Mon, 5 Apr 2021 02:37:33 -0400 Subject: [PATCH 07/11] Disable more tests --- src/libraries/tests.proj | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 72b395ad40a68..007d4f1614ec0 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -221,6 +221,15 @@ + + + + + + + + + @@ -259,6 +268,8 @@ + + From 25f2a3612edadbde808308d5de64fdd39f100cce Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Mon, 5 Apr 2021 03:08:00 -0400 Subject: [PATCH 08/11] Fix Wasm.Build tests --- src/libraries/sendtohelix.proj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index 1b71fe2f063c4..22d2f24fad15e 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -62,7 +62,8 @@ <_ProjectsToBuild Include="$(PerScenarioProjectFile)"> - $(_PropertiesToPass);Scenario=%(_Scenarios.Identity);TestArchiveRuntimeFile=$(TestArchiveRuntimeFile);NeedsToBuildWasmAppsOnHelix=$(NeedsToBuildWasmAppsOnHelix) + $(_PropertiesToPass);Scenario=%(_Scenarios.Identity);TestArchiveRuntimeFile=$(TestArchiveRuntimeFile) + %(_ProjectsToBuild.AdditionalProperties);NeedsToBuildWasmAppsOnHelix=$(NeedsToBuildWasmAppsOnHelix) From 488b2f8a7cef88b5d8cb1c7d22dce0f62e616e90 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Mon, 5 Apr 2021 05:18:50 -0400 Subject: [PATCH 09/11] remove debug stuff --- eng/testing/tests.mobile.targets | 1 - 1 file changed, 1 deletion(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 509a74ccfad93..6c77f9fa28a0d 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -20,7 +20,6 @@ - find $HELIX_CORRELATION_PAYLOAD -type d ; find . $(RunScriptCommand); dotnet msbuild publish/aot-build.proj /p:WasmBuildSupportDir=$HELIX_CORRELATION_PAYLOAD/build /bl:$XHARNESS_OUT/AOTBuild.binlog $(RunScriptCommand) /p:RunAOTCompilation=$(RunAOTCompilation) From 06eabc005384fd48346990692c074a095b6b883b Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Mon, 5 Apr 2021 05:23:45 -0400 Subject: [PATCH 10/11] re-enable the builds that were disabled for quick testing --- eng/pipelines/runtime-staging.yml | 422 +++++++++++++++--------------- eng/pipelines/runtime.yml | 276 +++++++++---------- 2 files changed, 349 insertions(+), 349 deletions(-) diff --git a/eng/pipelines/runtime-staging.yml b/eng/pipelines/runtime-staging.yml index f480cb5e9e37b..720cbfe86267e 100644 --- a/eng/pipelines/runtime-staging.yml +++ b/eng/pipelines/runtime-staging.yml @@ -57,133 +57,133 @@ jobs: # # Build the whole product using Mono and run libraries tests # -#- 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: - #- Android_x86 - #- Android_x64 - #- iOSSimulator_x64 - #- tvOSSimulator_x64 - #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: AllSubsets_Mono - #buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true - #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['isFullMatrix'], true)) - ## extra steps, run tests - #extraStepsTemplate: /eng/pipelines/libraries/helix.yml - #extraStepsParameters: - #creator: dotnet-bot - #testRunNamePrefixSuffix: Mono_$(_BuildConfig) - #condition: >- - #or( - #eq(variables['librariesContainsChange'], true), - #eq(variables['monoContainsChange'], 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: + - Android_x86 + - Android_x64 + - iOSSimulator_x64 + - tvOSSimulator_x64 + 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: AllSubsets_Mono + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true + 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['isFullMatrix'], true)) + # extra steps, run tests + extraStepsTemplate: /eng/pipelines/libraries/helix.yml + extraStepsParameters: + creator: dotnet-bot + testRunNamePrefixSuffix: Mono_$(_BuildConfig) + condition: >- + or( + eq(variables['librariesContainsChange'], true), + eq(variables['monoContainsChange'], 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: - #- Android_arm64 - #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: AllSubsets_Mono - #buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true - #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['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: + - Android_arm64 + 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: AllSubsets_Mono + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true + 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['isFullMatrix'], true)) - ## don't run tests on PRs until we get more Android devices: https://github.com/dotnet/core-eng/issues/11781 - #${{ if eq(variables['isFullMatrix'], true) }}: - ## extra steps, run tests - #extraStepsTemplate: /eng/pipelines/libraries/helix.yml - #extraStepsParameters: - #creator: dotnet-bot - #testRunNamePrefixSuffix: Mono_$(_BuildConfig) - #condition: >- - #or( - #eq(variables['librariesContainsChange'], true), - #eq(variables['monoContainsChange'], true), - #eq(variables['isFullMatrix'], true)) + # don't run tests on PRs until we get more Android devices: https://github.com/dotnet/core-eng/issues/11781 + ${{ if eq(variables['isFullMatrix'], true) }}: + # extra steps, run tests + extraStepsTemplate: /eng/pipelines/libraries/helix.yml + extraStepsParameters: + creator: dotnet-bot + testRunNamePrefixSuffix: Mono_$(_BuildConfig) + condition: >- + or( + eq(variables['librariesContainsChange'], true), + eq(variables['monoContainsChange'], true), + eq(variables['isFullMatrix'], true)) -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/common/global-build-job.yml - #buildConfig: Release - #platforms: - #- Android_arm - #jobParameters: - #testGroup: innerloop - #nameSuffix: Build_Subset_Mono - #buildArgs: -subset mono+libs +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: Release + platforms: + - Android_arm + jobParameters: + testGroup: innerloop + nameSuffix: Build_Subset_Mono + buildArgs: -subset mono+libs -## -## Build the whole product using Mono and run libraries tests -## -#- 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: - #- Windows_x64 - #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: - #testScope: innerloop - #nameSuffix: AllSubsets_Mono - #buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true - #timeoutInMinutes: 120 - #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['isFullMatrix'], true)) - ## extra steps, run tests - #extraStepsTemplate: /eng/pipelines/libraries/helix.yml - #extraStepsParameters: - #creator: dotnet-bot - #testRunNamePrefixSuffix: Mono_$(_BuildConfig) - #condition: >- - #or( - #eq(variables['librariesContainsChange'], true), - #eq(variables['monoContainsChange'], true), - #eq(variables['isFullMatrix'], true)) +# +# Build the whole product using Mono and run libraries tests +# +- 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: + - Windows_x64 + 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: + testScope: innerloop + nameSuffix: AllSubsets_Mono + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true + timeoutInMinutes: 120 + 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['isFullMatrix'], true)) + # extra steps, run tests + extraStepsTemplate: /eng/pipelines/libraries/helix.yml + extraStepsParameters: + creator: dotnet-bot + testRunNamePrefixSuffix: Mono_$(_BuildConfig) + condition: >- + or( + eq(variables['librariesContainsChange'], true), + eq(variables['monoContainsChange'], true), + eq(variables['isFullMatrix'], true)) # # Build the whole product using Mono and run libraries tests @@ -269,94 +269,94 @@ jobs: # # Build the whole product using Mono for Android and run runtime tests with Android emulator # -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/common/global-build-job.yml - #helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml - #buildConfig: Release - #runtimeFlavor: mono - #platforms: - #- Android_x64 - ##- Android_arm64 # disabled due to https://github.com/dotnet/runtime/issues/47850 - #variables: - #- ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}: - #- name: _HelixSource - #value: pr/dotnet/runtime/$(Build.SourceBranch) - #- ${{ if and(eq(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}: - #- name: _HelixSource - #value: ci/dotnet/runtime/$(Build.SourceBranch) - #- name: timeoutPerTestInMinutes - #value: 60 - #- name: timeoutPerTestCollectionInMinutes - #value: 180 - #jobParameters: - #testGroup: innerloop - #nameSuffix: AllSubsets_Mono_RuntimeTests - #buildArgs: -s mono+libs -c $(_BuildConfig) - #timeoutInMinutes: 240 - #condition: >- - #or( - #eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), - #eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - #eq(variables['isFullMatrix'], true)) - ## extra steps, run tests - #extraStepsTemplate: /eng/pipelines/common/templates/runtimes/android-runtime-and-send-to-helix.yml - #extraStepsParameters: - #creator: dotnet-bot - #testRunNamePrefixSuffix: Mono_$(_BuildConfig) +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml + buildConfig: Release + runtimeFlavor: mono + platforms: + - Android_x64 + #- Android_arm64 # disabled due to https://github.com/dotnet/runtime/issues/47850 + variables: + - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}: + - name: _HelixSource + value: pr/dotnet/runtime/$(Build.SourceBranch) + - ${{ if and(eq(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}: + - name: _HelixSource + value: ci/dotnet/runtime/$(Build.SourceBranch) + - name: timeoutPerTestInMinutes + value: 60 + - name: timeoutPerTestCollectionInMinutes + value: 180 + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono_RuntimeTests + buildArgs: -s mono+libs -c $(_BuildConfig) + timeoutInMinutes: 240 + condition: >- + or( + eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(variables['isFullMatrix'], true)) + # extra steps, run tests + extraStepsTemplate: /eng/pipelines/common/templates/runtimes/android-runtime-and-send-to-helix.yml + extraStepsParameters: + creator: dotnet-bot + testRunNamePrefixSuffix: Mono_$(_BuildConfig) -## Run disabled installer tests on Linux x64 -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/common/global-build-job.yml - #buildConfig: Release - #platforms: - #- Linux_x64 - #jobParameters: - #nameSuffix: Installer_Tests - #isOfficialBuild: ${{ variables.isOfficialBuild }} - #buildArgs: -s clr+libs+host+packs -restore -build -test -c $(_BuildConfig) -lc Debug /p:PortableBuild=true /p:RunOnStaging=true - #useContinueOnErrorDuringBuild: true - #enablePublisTestResults: true - #testResultsFormat: xunit +# Run disabled installer tests on Linux x64 +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: Release + platforms: + - Linux_x64 + jobParameters: + nameSuffix: Installer_Tests + isOfficialBuild: ${{ variables.isOfficialBuild }} + buildArgs: -s clr+libs+host+packs -restore -build -test -c $(_BuildConfig) -lc Debug /p:PortableBuild=true /p:RunOnStaging=true + useContinueOnErrorDuringBuild: true + enablePublisTestResults: true + testResultsFormat: xunit -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/common/global-build-job.yml - #buildConfig: release - #platforms: - #- Browser_wasm_win - #jobParameters: - #testGroup: innerloop - #nameSuffix: Browser_wasm_Windows - #buildArgs: -subset mono+libs /p:RuntimeFlavor=Mono -c $(_BuildConfig) +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: release + platforms: + - Browser_wasm_win + jobParameters: + testGroup: innerloop + nameSuffix: Browser_wasm_Windows + buildArgs: -subset mono+libs /p:RuntimeFlavor=Mono -c $(_BuildConfig) -## -## CoreCLR Build for running Apple Silicon libraries-innerloop -## -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml - #buildConfig: release - #platforms: - #- ${{ if eq(variables['isFullMatrix'], true) }}: - #- OSX_arm64 - #jobParameters: - #testGroup: innerloop -## -## Libraries Build for running Apple Silicon libraries-innerloop -## -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/libraries/build-job.yml - #buildConfig: Release - #platforms: - #- ${{ if eq(variables['isFullMatrix'], true) }}: - #- OSX_arm64 - #helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml - #jobParameters: - #isOfficialBuild: ${{ variables['isOfficialBuild'] }} - #isFullMatrix: ${{ variables['isFullMatrix'] }} - #runTests: true - #testScope: innerloop - #liveRuntimeBuildConfig: release +# +# CoreCLR Build for running Apple Silicon libraries-innerloop +# +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml + buildConfig: release + platforms: + - ${{ if eq(variables['isFullMatrix'], true) }}: + - OSX_arm64 + jobParameters: + testGroup: innerloop +# +# Libraries Build for running Apple Silicon libraries-innerloop +# +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/libraries/build-job.yml + buildConfig: Release + platforms: + - ${{ if eq(variables['isFullMatrix'], true) }}: + - OSX_arm64 + helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml + jobParameters: + isOfficialBuild: ${{ variables['isOfficialBuild'] }} + isFullMatrix: ${{ variables['isFullMatrix'] }} + runTests: true + testScope: innerloop + liveRuntimeBuildConfig: release diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 23d2d7cfd4728..476150aad686a 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -216,48 +216,48 @@ jobs: # Build the whole product using Mono runtime # Only when libraries, mono or installer are changed # -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/common/global-build-job.yml - #buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} - #runtimeFlavor: mono - #platforms: - #- MacCatalyst_x64 - #- MacCatalyst_arm64 - #- tvOSSimulator_x64 - #- iOSSimulator_x86 - #- iOS_arm64 - #- Linux_arm - #jobParameters: - #testGroup: innerloop - #nameSuffix: AllSubsets_Mono - #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - #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['isFullMatrix'], true)) +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} + runtimeFlavor: mono + platforms: + - MacCatalyst_x64 + - MacCatalyst_arm64 + - tvOSSimulator_x64 + - iOSSimulator_x86 + - iOS_arm64 + - Linux_arm + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + 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['isFullMatrix'], true)) -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/common/global-build-job.yml - #buildConfig: Release - #runtimeFlavor: mono - #platforms: - #- tvOS_arm64 - #- iOS_arm - #- Linux_musl_x64 - #jobParameters: - #testGroup: innerloop - #nameSuffix: AllSubsets_Mono - #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - #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['isFullMatrix'], true)) +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: Release + runtimeFlavor: mono + platforms: + - tvOS_arm64 + - iOS_arm + - Linux_musl_x64 + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + 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['isFullMatrix'], true)) # # Build the whole product using Mono and run libraries tests, multi-scenario @@ -303,26 +303,26 @@ jobs: eq(variables['isFullMatrix'], true)) # Build and test libraries under single-file publishing -#- 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 - #platforms: - #- windows_x64 - #- Linux_x64 - #jobParameters: - #testGroup: innerloop - #isFullMatrix: ${{ variables.isFullMatrix }} - #isSingleFile: true - #nameSuffix: SingleFile - #buildArgs: -s clr+libs+libs.tests -c $(_BuildConfig) /p:TestSingleFile=true /p:ArchiveTests=true - #timeoutInMinutes: 120 - ## extra steps, run tests - #extraStepsTemplate: /eng/pipelines/libraries/helix.yml - #extraStepsParameters: - #creator: dotnet-bot - #testRunNamePrefixSuffix: SingleFile_$(_BuildConfig) +- 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 + platforms: + - windows_x64 + - Linux_x64 + jobParameters: + testGroup: innerloop + isFullMatrix: ${{ variables.isFullMatrix }} + isSingleFile: true + nameSuffix: SingleFile + buildArgs: -s clr+libs+libs.tests -c $(_BuildConfig) /p:TestSingleFile=true /p:ArchiveTests=true + timeoutInMinutes: 120 + # extra steps, run tests + extraStepsTemplate: /eng/pipelines/libraries/helix.yml + extraStepsParameters: + creator: dotnet-bot + testRunNamePrefixSuffix: SingleFile_$(_BuildConfig) # # Build the whole product using Mono and run runtime tests @@ -365,86 +365,86 @@ jobs: # # Build Mono and Installer on LLVMJIT mode # -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/common/global-build-job.yml - #buildConfig: Release - #runtimeFlavor: mono - #platforms: - #- OSX_x64 - #jobParameters: - #testGroup: innerloop - #nameSuffix: AllSubsets_Mono_LLVMJIT - #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - #/p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false - #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['isFullMatrix'], true)) +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: Release + runtimeFlavor: mono + platforms: + - OSX_x64 + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono_LLVMJIT + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false + 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['isFullMatrix'], true)) -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/common/global-build-job.yml - #buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} - #runtimeFlavor: mono - #platforms: - #- Linux_x64 - #- Linux_arm64 - #jobParameters: - #testGroup: innerloop - #nameSuffix: AllSubsets_Mono_LLVMJIT - #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - #/p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false - #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['isFullMatrix'], true)) +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} + runtimeFlavor: mono + platforms: + - Linux_x64 + - Linux_arm64 + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono_LLVMJIT + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false + 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['isFullMatrix'], true)) -## -## Build Mono and Installer on LLVMAOT mode -## -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/common/global-build-job.yml - #buildConfig: Release - #runtimeFlavor: mono - #platforms: - #- Linux_x64 - #- Linux_arm64 - #jobParameters: - #testGroup: innerloop - #nameSuffix: AllSubsets_Mono_LLVMAOT - #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - #/p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true - #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['isFullMatrix'], true)) +# +# Build Mono and Installer on LLVMAOT mode +# +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: Release + runtimeFlavor: mono + platforms: + - Linux_x64 + - Linux_arm64 + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono_LLVMAOT + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true + 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['isFullMatrix'], true)) -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/common/global-build-job.yml - #buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} - #runtimeFlavor: mono - #platforms: - #- OSX_x64 - #jobParameters: - #testGroup: innerloop - #nameSuffix: AllSubsets_Mono_LLVMAOT - #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - #/p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true - #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['isFullMatrix'], true)) +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} + runtimeFlavor: mono + platforms: + - OSX_x64 + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono_LLVMAOT + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true + 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['isFullMatrix'], true)) # # Build Mono debug From 64faaf91dc217449da1cabac9870e01cc9d4fadc Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Mon, 5 Apr 2021 17:04:46 -0400 Subject: [PATCH 11/11] fix RunTests.sh --- eng/testing/tests.mobile.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 6c77f9fa28a0d..4095d6390912c 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -20,7 +20,7 @@ - $(RunScriptCommand); dotnet msbuild publish/aot-build.proj /p:WasmBuildSupportDir=$HELIX_CORRELATION_PAYLOAD/build /bl:$XHARNESS_OUT/AOTBuild.binlog + dotnet msbuild publish/aot-build.proj /p:WasmBuildSupportDir=$HELIX_CORRELATION_PAYLOAD/build /bl:$XHARNESS_OUT/AOTBuild.binlog $(RunScriptCommand) /p:RunAOTCompilation=$(RunAOTCompilation) $(RunScriptCommand) && cd AppBundle &&