From 9760ad2705da62f0a8decb30bc5ee3933fde9624 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Thu, 10 Feb 2022 17:09:55 -0500 Subject: [PATCH 01/19] [wasm] Use --emit-symbol-map to generate a dotnet.js.symbols .. and package it in the runtime pack. This can be disabled with `$(WasmEmitSymbolMap)`. --- eng/liveBuilds.targets | 1 + eng/testing/tests.wasm.targets | 1 + .../sfx/Microsoft.NETCore.App/Directory.Build.props | 1 + src/mono/wasm/build/WasmApp.Native.targets | 12 ++++++++++-- src/mono/wasm/build/WasmApp.targets | 2 ++ src/mono/wasm/wasm.proj | 9 ++++++++- 6 files changed, 23 insertions(+), 3 deletions(-) diff --git a/eng/liveBuilds.targets b/eng/liveBuilds.targets index 8f91d3e6e42574..d31305effaa8e8 100644 --- a/eng/liveBuilds.targets +++ b/eng/liveBuilds.targets @@ -183,6 +183,7 @@ $(LibrariesNativeArtifactsPath)dotnet.d.ts; $(LibrariesNativeArtifactsPath)package.json; $(LibrariesNativeArtifactsPath)dotnet.wasm; + $(LibrariesNativeArtifactsPath)dotnet.js.symbols; $(LibrariesNativeArtifactsPath)dotnet.timezones.blat; $(LibrariesNativeArtifactsPath)*.dat;" IsNative="true" /> diff --git a/eng/testing/tests.wasm.targets b/eng/testing/tests.wasm.targets index e9e8d34d696790..0e9bf3430a7aea 100644 --- a/eng/testing/tests.wasm.targets +++ b/eng/testing/tests.wasm.targets @@ -46,6 +46,7 @@ <_XHarnessArgs Condition="'$(IsFunctionalTest)' == 'true'" >$(_XHarnessArgs) --expected-exit-code=$(ExpectedExitCode) <_XHarnessArgs Condition="'$(WasmXHarnessArgs)' != ''" >$(_XHarnessArgs) $(WasmXHarnessArgs) + <_XHarnessArgs >$(_XHarnessArgs) -s dotnet.js.symbols <_XHarnessArgs Condition="'$(WasmXHarnessArgsCli)' != ''" >$(_XHarnessArgs) $(WasmXHarnessArgsCli) <_AppArgs Condition="'$(IsFunctionalTest)' != 'true' and '$(Scenario)' != 'BuildWasmApps' and '$(WasmMainAssemblyFileName)' == ''">--run WasmTestRunner.dll $(AssemblyName).dll diff --git a/src/installer/pkg/sfx/Microsoft.NETCore.App/Directory.Build.props b/src/installer/pkg/sfx/Microsoft.NETCore.App/Directory.Build.props index e94c73bb92386f..afc33ec68ee80b 100644 --- a/src/installer/pkg/sfx/Microsoft.NETCore.App/Directory.Build.props +++ b/src/installer/pkg/sfx/Microsoft.NETCore.App/Directory.Build.props @@ -210,6 +210,7 @@ + diff --git a/src/mono/wasm/build/WasmApp.Native.targets b/src/mono/wasm/build/WasmApp.Native.targets index 99180181d7a37e..d92c7f9e9c4130 100644 --- a/src/mono/wasm/build/WasmApp.Native.targets +++ b/src/mono/wasm/build/WasmApp.Native.targets @@ -156,6 +156,8 @@ true true $(WasmBuildNative) + true + <_WasmICallTablePath>$(_WasmIntermediateOutputPath)icall-table.h <_WasmRuntimeICallTablePath>$(_WasmIntermediateOutputPath)runtime-icall-table.h <_WasmPInvokeTablePath>$(_WasmIntermediateOutputPath)pinvoke-table.h @@ -374,6 +376,7 @@ <_EmccLinkStepArgs Include="@(_EmccLDFlags)" /> <_EmccLinkStepArgs Include="@(_EmccLDSFlags)" /> + <_EmccLinkStepArgs Include="--emit-symbol-map" Condition="'$(WasmEmitSymbolMap)' == 'true'" /> <_EmccLinkStepArgs Include="--%(_WasmExtraJSFile.Kind) "%(_WasmExtraJSFile.Identity)"" Condition="'%(_WasmExtraJSFile.Kind)' != ''" /> <_WasmLinkDependencies Include="@(_WasmExtraJSFile)" /> @@ -405,16 +408,21 @@ + - - + + + diff --git a/src/mono/wasm/build/WasmApp.targets b/src/mono/wasm/build/WasmApp.targets index 145e5c8f7ee909..04d8c4c6da1775 100644 --- a/src/mono/wasm/build/WasmApp.targets +++ b/src/mono/wasm/build/WasmApp.targets @@ -255,12 +255,14 @@ icudt.dat <_HasDotnetWasm Condition="'%(WasmNativeAsset.FileName)%(WasmNativeAsset.Extension)' == 'dotnet.wasm'">true + <_HasDotnetJsSymbols Condition="'%(WasmNativeAsset.FileName)%(WasmNativeAsset.Extension)' == 'dotnet.js.symbols'">true <_HasDotnetJs Condition="'%(WasmNativeAsset.FileName)%(WasmNativeAsset.Extension)' == 'dotnet.js'">true + diff --git a/src/mono/wasm/wasm.proj b/src/mono/wasm/wasm.proj index fffeeb55d7c2e3..7c43aab4824299 100644 --- a/src/mono/wasm/wasm.proj +++ b/src/mono/wasm/wasm.proj @@ -161,8 +161,11 @@ $(ArtifactsObjDir)wasm/pinvoke-table.h -g -Os -s -DDEBUG=1 -Oz - $(CMakeConfigurationEmccFlags) + + $(CMakeConfigurationEmccFlags) -O2 + $(CMakeConfigurationLinkFlags) --emit-symbol-map + -DEMSDK_PATH="$(EMSDK_PATH.TrimEnd('\/'))" emcmake cmake $(MSBuildThisFileDirectory)runtime -DCMAKE_BUILD_TYPE=$(Configuration) -DCONFIGURATION_EMCC_FLAGS="$(CMakeConfigurationEmccFlags)" -DCONFIGURATION_LINK_FLAGS="$(CMakeConfigurationLinkFlags)" -DMONO_INCLUDES="$(MonoArtifactsPath)include/mono-2.0" -DMONO_OBJ_INCLUDES="$(MonoObjDir.TrimEnd('\/'))" -DICU_LIB_DIR="$(ICULibDir.TrimEnd('\/'))" -DMONO_ARTIFACTS_DIR="$(MonoArtifactsPath.TrimEnd('\/'))" -DNATIVE_BIN_DIR="$(NativeBinDir.TrimEnd('\/'))" $(CMakeConfigurationEmsdkPath) call "$(RepositoryEngineeringDir)native\init-vs-env.cmd" && call "$([MSBuild]::NormalizePath('$(EMSDK_PATH)', 'emsdk_env.bat'))" && $(CMakeBuildRuntimeConfigureCmd) @@ -230,6 +233,10 @@ DestinationFolder="$(MicrosoftNetCoreAppRuntimePackNativeDir)" SkipUnchangedFiles="true" /> + + From 1b7b494ffa0bdfea7483b74c2acd6bce1fc9ce48 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Thu, 10 Feb 2022 17:16:38 -0500 Subject: [PATCH 02/19] wasm.proj: cleanup --- src/mono/wasm/wasm.proj | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/mono/wasm/wasm.proj b/src/mono/wasm/wasm.proj index 7c43aab4824299..bfdb3548e51011 100644 --- a/src/mono/wasm/wasm.proj +++ b/src/mono/wasm/wasm.proj @@ -167,7 +167,18 @@ $(CMakeConfigurationLinkFlags) --emit-symbol-map -DEMSDK_PATH="$(EMSDK_PATH.TrimEnd('\/'))" - emcmake cmake $(MSBuildThisFileDirectory)runtime -DCMAKE_BUILD_TYPE=$(Configuration) -DCONFIGURATION_EMCC_FLAGS="$(CMakeConfigurationEmccFlags)" -DCONFIGURATION_LINK_FLAGS="$(CMakeConfigurationLinkFlags)" -DMONO_INCLUDES="$(MonoArtifactsPath)include/mono-2.0" -DMONO_OBJ_INCLUDES="$(MonoObjDir.TrimEnd('\/'))" -DICU_LIB_DIR="$(ICULibDir.TrimEnd('\/'))" -DMONO_ARTIFACTS_DIR="$(MonoArtifactsPath.TrimEnd('\/'))" -DNATIVE_BIN_DIR="$(NativeBinDir.TrimEnd('\/'))" $(CMakeConfigurationEmsdkPath) + + emcmake cmake $(MSBuildThisFileDirectory)runtime + $(CMakeBuildRuntimeConfigureCmd) -DCMAKE_BUILD_TYPE=$(Configuration) + $(CMakeBuildRuntimeConfigureCmd) -DCONFIGURATION_EMCC_FLAGS="$(CMakeConfigurationEmccFlags)" + $(CMakeBuildRuntimeConfigureCmd) -DCONFIGURATION_LINK_FLAGS="$(CMakeConfigurationLinkFlags)" + $(CMakeBuildRuntimeConfigureCmd) -DMONO_INCLUDES="$(MonoArtifactsPath)include/mono-2.0" + $(CMakeBuildRuntimeConfigureCmd) -DMONO_OBJ_INCLUDES="$(MonoObjDir.TrimEnd('\/'))" + $(CMakeBuildRuntimeConfigureCmd) -DICU_LIB_DIR="$(ICULibDir.TrimEnd('\/'))" + $(CMakeBuildRuntimeConfigureCmd) -DMONO_ARTIFACTS_DIR="$(MonoArtifactsPath.TrimEnd('\/'))" + $(CMakeBuildRuntimeConfigureCmd) -DNATIVE_BIN_DIR="$(NativeBinDir.TrimEnd('\/'))" + $(CMakeBuildRuntimeConfigureCmd) $(CMakeConfigurationEmsdkPath) + call "$(RepositoryEngineeringDir)native\init-vs-env.cmd" && call "$([MSBuild]::NormalizePath('$(EMSDK_PATH)', 'emsdk_env.bat'))" && $(CMakeBuildRuntimeConfigureCmd) bash -c 'source $(EMSDK_PATH)/emsdk_env.sh 2>&1 && $(CMakeBuildRuntimeConfigureCmd)' From 6464cbd26674d976fd8397686ad75bcf9c163a55 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Thu, 10 Feb 2022 14:07:36 -0500 Subject: [PATCH 03/19] [wasm] honor XunitShowProgress property --- eng/testing/tests.wasm.targets | 2 ++ 1 file changed, 2 insertions(+) diff --git a/eng/testing/tests.wasm.targets b/eng/testing/tests.wasm.targets index 0e9bf3430a7aea..9bd54c1a0981fc 100644 --- a/eng/testing/tests.wasm.targets +++ b/eng/testing/tests.wasm.targets @@ -55,6 +55,8 @@ <_AppArgs Condition="'$(WasmTestAppArgs)' != ''">$(_AppArgs) $(WasmTestAppArgs) + $(WasmXHarnessMonoArgs) --setenv=XHARNESS_LOG_TEST_START=1 + $HARNESS_RUNNER $(_XHarnessArgs) %24XHARNESS_ARGS %24WasmXHarnessArgs -- $(WasmXHarnessMonoArgs) %24WasmXHarnessMonoArgs $(_AppArgs) %24WasmTestAppArgs %HARNESS_RUNNER% $(_XHarnessArgs) %XHARNESS_ARGS% %WasmXHarnessArgs% -- $(WasmXHarnessMonoArgs) %WasmXHarnessMonoArgs% $(_AppArgs) %WasmTestAppArgs% From 180227b3019f064d332022805dafbddb23e65439 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Thu, 10 Feb 2022 14:08:10 -0500 Subject: [PATCH 04/19] [wasm] avoid extra build when publishing --- src/mono/sample/wasm/wasm.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mono/sample/wasm/wasm.mk b/src/mono/sample/wasm/wasm.mk index ea466c3f225b94..e4bd525308d2a6 100644 --- a/src/mono/sample/wasm/wasm.mk +++ b/src/mono/sample/wasm/wasm.mk @@ -3,7 +3,7 @@ DOTNET=$(TOP)/dotnet.sh ifeq ($(V),) DOTNET_Q_ARGS=--nologo -v:q -consoleloggerparameters:NoSummary else -DOTNET_Q_ARGS=--nologo +DOTNET_Q_ARGS=--nologo -bl endif CONFIG?=Release @@ -25,7 +25,7 @@ build: EMSDK_PATH=$(realpath $(TOP)/src/mono/wasm/emsdk) $(DOTNET) build $(DOTNET_Q_ARGS) $(WASM_DEFAULT_BUILD_ARGS) $(MSBUILD_ARGS) $(PROJECT_NAME) publish: - EMSDK_PATH=$(realpath $(TOP)/src/mono/wasm/emsdk) $(DOTNET) publish $(DOTNET_Q_ARGS) $(WASM_DEFAULT_BUILD_ARGS) $(MSBUILD_ARGS) $(PROJECT_NAME) + EMSDK_PATH=$(realpath $(TOP)/src/mono/wasm/emsdk) $(DOTNET) publish $(DOTNET_Q_ARGS) $(WASM_DEFAULT_BUILD_ARGS) -p:WasmBuildOnlyAfterPublish=true $(MSBUILD_ARGS) $(PROJECT_NAME) clean: rm -rf bin $(TOP)/artifacts/obj/mono/$(PROJECT_NAME:%.csproj=%) From 129dc6506ccf723a5a25be7f511dbb32e6184332 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Thu, 10 Feb 2022 19:12:39 -0500 Subject: [PATCH 05/19] [wasm] WasmAppBuilder: Fix handling of ExtraFilesToDeploy It incorrectly treated `TargetPath` metadata as a directory. --- src/tasks/WasmAppBuilder/WasmAppBuilder.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/tasks/WasmAppBuilder/WasmAppBuilder.cs b/src/tasks/WasmAppBuilder/WasmAppBuilder.cs index 3e3b2784f222b5..304af22c07584f 100644 --- a/src/tasks/WasmAppBuilder/WasmAppBuilder.cs +++ b/src/tasks/WasmAppBuilder/WasmAppBuilder.cs @@ -300,11 +300,11 @@ private bool ExecuteInternal () { string src = item.ItemSpec; - string dstDir = Path.Combine(AppDir!, item.GetMetadata("TargetPath")); - if (!Directory.Exists(dstDir)) - Directory.CreateDirectory(dstDir); + string dst = Path.Combine(AppDir!, item.GetMetadata("TargetPath")); + string? dstDir = Path.GetDirectoryName(dst); + if (!string.IsNullOrEmpty(dstDir) && !Directory.Exists(dstDir)) + Directory.CreateDirectory(dstDir!); - string dst = Path.Combine(dstDir, Path.GetFileName(src)); if (!FileCopyChecked(src, dst, "ExtraFilesToDeploy")) return false; } From e3d8531112146cd8bd94e98ef48f7b590b1ce6eb Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Thu, 10 Feb 2022 19:13:47 -0500 Subject: [PATCH 06/19] [wasm] Fix AOT proxy project to support ExtraFilesToDeploy --- eng/testing/tests.wasm.targets | 6 +++++- .../data/aot-tests/ProxyProjectForAOTOnHelix.proj | 14 +++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/eng/testing/tests.wasm.targets b/eng/testing/tests.wasm.targets index 9bd54c1a0981fc..0613c19fab2419 100644 --- a/eng/testing/tests.wasm.targets +++ b/eng/testing/tests.wasm.targets @@ -169,6 +169,9 @@ <_WasmVFSFilesToCopy Include="@(WasmFilesToIncludeInFileSystem)" /> <_WasmVFSFilesToCopy TargetPath="%(FileName)%(Extension)" Condition="'%(TargetPath)' == ''" /> + <_WasmExtraFilesToCopy Include="@(WasmExtraFilesToDeploy)" /> + <_WasmExtraFilesToCopy TargetPath="%(FileName)%(Extension)" Condition="'%(TargetPath)' == ''" /> + <_ShellCommandSeparator Condition="'$(OS)' == 'Windows_NT'">&& <_ShellCommandSeparator Condition="'$(OS)' != 'Windows_NT'">&& - false <_WasmMainJSFileName Condition="'$(WasmMainJSPath)' != ''">$([System.IO.Path]::GetFileName('$(WasmMainJSPath)')) @@ -47,6 +46,7 @@ <_XHarnessArgs Condition="'$(IsFunctionalTest)' == 'true'" >$(_XHarnessArgs) --expected-exit-code=$(ExpectedExitCode) <_XHarnessArgs Condition="'$(WasmXHarnessArgs)' != ''" >$(_XHarnessArgs) $(WasmXHarnessArgs) <_XHarnessArgs >$(_XHarnessArgs) -s dotnet.js.symbols + <_XHarnessArgs >$(_XHarnessArgs) --symbol-patterns wasm-symbol-patterns.txt <_XHarnessArgs Condition="'$(WasmXHarnessArgsCli)' != ''" >$(_XHarnessArgs) $(WasmXHarnessArgsCli) <_AppArgs Condition="'$(IsFunctionalTest)' != 'true' and '$(Scenario)' != 'BuildWasmApps' and '$(WasmMainAssemblyFileName)' == ''">--run WasmTestRunner.dll $(AssemblyName).dll @@ -197,7 +197,6 @@ $(MonoProjectRoot)\wasm\test-main.js $(InvariantGlobalization) true - false true -1 @@ -229,6 +228,8 @@ Include="$(PublishDir)%(WasmFilesToIncludeFromPublishDir.Identity)" TargetPath="%(WasmFilesToIncludeFromPublishDir.Identity)" Condition="'%(WasmFilesToIncludeFromPublishDir.Identity)' != ''" /> + + diff --git a/src/mono/wasm/data/wasm-symbol-patterns.txt b/src/mono/wasm/data/wasm-symbol-patterns.txt new file mode 100644 index 00000000000000..0a50a28c0d3c89 --- /dev/null +++ b/src/mono/wasm/data/wasm-symbol-patterns.txt @@ -0,0 +1,11 @@ +# V8 +# at :wasm-function[1900]:0x83f63 +# at dlfree (:wasm-function[18739]:0x2328ef) +(at (?[^:\()]+:wasm-function\[(?\d+)\]:0x[a-fA-F\d]+)((?![^\)a-fA-F\d])|$)) + +# 5: WASM [009712b2], function #111 (''), pc=0x7c16595c973 (+0x53), pos=38740 (+11) +(?:WASM \[[\da-zA-Z]+\], function #(?[\d]+) \((?'')\)) + +# chrome +# at http://127.0.0.1:63817/dotnet.wasm:wasm-function[8963]:0x1e23f4 +:(?wasm-function\[(?\d+)\]:0x[a-fA-F\d]+)((?![^\)a-fA-F\d])|$) From 401363ca0b69587e4b19830bb44ace5c90fe12a8 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Thu, 10 Feb 2022 20:53:47 -0500 Subject: [PATCH 08/19] Fix path to the symbols file --- eng/testing/tests.wasm.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/tests.wasm.targets b/eng/testing/tests.wasm.targets index 997407c5536ea8..2e3630e0beac6b 100644 --- a/eng/testing/tests.wasm.targets +++ b/eng/testing/tests.wasm.targets @@ -229,7 +229,7 @@ TargetPath="%(WasmFilesToIncludeFromPublishDir.Identity)" Condition="'%(WasmFilesToIncludeFromPublishDir.Identity)' != ''" /> - + From 6d8718a487ee9714f238e4b62cca1df4a04d8b75 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Thu, 10 Feb 2022 21:35:47 -0500 Subject: [PATCH 09/19] WasmAppBuilder: Correctly handle ExtraFiles with no TargetPath --- src/tasks/WasmAppBuilder/WasmAppBuilder.cs | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/tasks/WasmAppBuilder/WasmAppBuilder.cs b/src/tasks/WasmAppBuilder/WasmAppBuilder.cs index 304af22c07584f..a25b404fc2ba86 100644 --- a/src/tasks/WasmAppBuilder/WasmAppBuilder.cs +++ b/src/tasks/WasmAppBuilder/WasmAppBuilder.cs @@ -299,11 +299,20 @@ private bool ExecuteInternal () foreach (ITaskItem item in ExtraFilesToDeploy!) { string src = item.ItemSpec; + string dst; - string dst = Path.Combine(AppDir!, item.GetMetadata("TargetPath")); - string? dstDir = Path.GetDirectoryName(dst); - if (!string.IsNullOrEmpty(dstDir) && !Directory.Exists(dstDir)) - Directory.CreateDirectory(dstDir!); + string tgtPath = item.GetMetadata("TargetPath"); + if (!string.IsNullOrEmpty(tgtPath)) + { + dst = Path.Combine(AppDir!, tgtPath); + string? dstDir = Path.GetDirectoryName(dst); + if (!string.IsNullOrEmpty(dstDir) && !Directory.Exists(dstDir)) + Directory.CreateDirectory(dstDir!); + } + else + { + dst = Path.Combine(AppDir!, Path.GetFileName(src)); + } if (!FileCopyChecked(src, dst, "ExtraFilesToDeploy")) return false; From 61447badb5f9b858681b0e67162f6f0ebb29e898 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Thu, 10 Feb 2022 22:37:14 -0500 Subject: [PATCH 10/19] handle missing TargetPath metadata in ExtraFileToDeply --- eng/testing/tests.wasm.targets | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/testing/tests.wasm.targets b/eng/testing/tests.wasm.targets index 2e3630e0beac6b..c9285f475264dc 100644 --- a/eng/testing/tests.wasm.targets +++ b/eng/testing/tests.wasm.targets @@ -167,10 +167,10 @@ ConditionToUse__="%(_WasmPropertyNames.ConditionToUse__)" /> <_WasmVFSFilesToCopy Include="@(WasmFilesToIncludeInFileSystem)" /> - <_WasmVFSFilesToCopy TargetPath="%(FileName)%(Extension)" Condition="'%(TargetPath)' == ''" /> + <_WasmVFSFilesToCopy TargetPath="%(FileName)%(Extension)" Condition="'%(_WasmVFSFilesToCopy.TargetPath)' == ''" /> <_WasmExtraFilesToCopy Include="@(WasmExtraFilesToDeploy)" /> - <_WasmExtraFilesToCopy TargetPath="%(FileName)%(Extension)" Condition="'%(TargetPath)' == ''" /> + <_WasmExtraFilesToCopy TargetPath="%(FileName)%(Extension)" Condition="'%(_WasmExtraFilesToCopy.TargetPath)' == ''" /> - + @@ -293,9 +293,9 @@ - + - + From f12d49c5251e9addffe4605a62003548e14ab30e Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Thu, 10 Feb 2022 23:39:43 -0500 Subject: [PATCH 12/19] disable unrelated builds --- eng/pipelines/common/platform-matrix.yml | 747 ------------------ .../runtime-extra-platforms-wasm.yml | 174 ++-- eng/pipelines/runtime-staging.yml | 340 ++++---- eng/pipelines/runtime.yml | 382 ++++----- 4 files changed, 448 insertions(+), 1195 deletions(-) diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml index a6ccd0efc19be8..9924f448188a21 100644 --- a/eng/pipelines/common/platform-matrix.yml +++ b/eng/pipelines/common/platform-matrix.yml @@ -27,269 +27,6 @@ parameters: jobs: -# Linux arm -- ${{ if or(containsValue(parameters.platforms, 'Linux_arm'), in(parameters.platformGroup, 'all', 'gcstress')) }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: Linux - archType: arm - targetRid: linux-arm - platform: Linux_arm - container: - image: ubuntu-16.04-cross-20210719121212-8a8d3be - registry: mcr - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - crossBuild: true - crossrootfsDir: '/crossrootfs/arm' - ${{ insert }}: ${{ parameters.jobParameters }} - -# Linux armv6 -- ${{ if containsValue(parameters.platforms, 'Linux_armv6') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: Linux - archType: armv6 - targetRid: linux-armv6 - platform: Linux_armv6 - container: - image: ubuntu-20.04-cross-armv6-raspbian-10-20211208135931-e6e3ac4 - registry: mcr - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - crossBuild: true - crossrootfsDir: '/crossrootfs/armv6' - ${{ insert }}: ${{ parameters.jobParameters }} - -# Linux arm64 - -- ${{ if or(containsValue(parameters.platforms, 'Linux_arm64'), in(parameters.platformGroup, 'all', 'gcstress')) }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: Linux - archType: arm64 - targetRid: linux-arm64 - platform: Linux_arm64 - container: - ${{ if eq(parameters.container, '') }}: - image: ubuntu-16.04-cross-arm64-20210719121212-8a8d3be - ${{ if ne(parameters.container, '') }}: - image: ${{ parameters.container }} - registry: mcr - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - crossBuild: true - crossrootfsDir: '/crossrootfs/arm64' - ${{ insert }}: ${{ parameters.jobParameters }} - -# Linux musl x64 - -- ${{ if or(containsValue(parameters.platforms, 'Linux_musl_x64'), eq(parameters.platformGroup, 'all')) }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: Linux - osSubgroup: _musl - archType: x64 - targetRid: linux-musl-x64 - platform: Linux_musl_x64 - container: - image: alpine-3.13-WithNode-20210910135845-c401c85 - registry: mcr - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} - -# Linux musl arm - -- ${{ if or(containsValue(parameters.platforms, 'Linux_musl_arm'), eq(parameters.platformGroup, 'all')) }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: Linux - osSubgroup: _musl - archType: arm - targetRid: linux-musl-arm - platform: Linux_musl_arm - container: - image: ubuntu-16.04-cross-arm-alpine-20210923140502-78f7860 - registry: mcr - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - crossBuild: true - crossrootfsDir: '/crossrootfs/arm' - ${{ insert }}: ${{ parameters.jobParameters }} - -# Linux musl arm64 - -- ${{ if or(containsValue(parameters.platforms, 'Linux_musl_arm64'), eq(parameters.platformGroup, 'all')) }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: Linux - osSubgroup: _musl - archType: arm64 - targetRid: linux-musl-arm64 - platform: Linux_musl_arm64 - container: - image: ubuntu-16.04-cross-arm64-alpine-20210923140502-78f7860 - registry: mcr - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - crossBuild: true - crossrootfsDir: '/crossrootfs/arm64' - ${{ insert }}: ${{ parameters.jobParameters }} - -# Linux x64 - -- ${{ if or(containsValue(parameters.platforms, 'Linux_x64'), containsValue(parameters.platforms, 'CoreClrTestBuildHost'), in(parameters.platformGroup, 'all', 'gcstress')) }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: Linux - archType: x64 - targetRid: linux-x64 - platform: Linux_x64 - container: - ${{ if eq(parameters.container, '') }}: - image: centos-7-20210714125435-9b5bbc2 - ${{ if ne(parameters.container, '') }}: - image: ${{ parameters.container }} - registry: mcr - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} - -# Linux x86 - -- ${{ if containsValue(parameters.platforms, 'Linux_x86') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: Linux - archType: x86 - targetRid: linux-x86 - platform: Linux_x86 - container: - image: ubuntu-18.04-cross-x86-linux-20211022152824-f853169 - registry: mcr - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - crossBuild: true - crossrootfsDir: '/crossrootfs/x86' - disableClrTest: true - ${{ insert }}: ${{ parameters.jobParameters }} - -# Linux x64 Source Build - -- ${{ if containsValue(parameters.platforms, 'SourceBuild_Linux_x64') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: Linux - archType: x64 - targetRid: linux-x64 - platform: Linux_x64 - container: - image: centos-7-source-build-20210714125450-5d87b80 - registry: mcr - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} - buildingOnSourceBuildImage: true - -# Linux s390x - -- ${{ if containsValue(parameters.platforms, 'Linux_s390x') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: Linux - archType: s390x - targetRid: linux-s390x - platform: Linux_s390x - container: - image: ubuntu-18.04-cross-s390x-20201102145728-d6e0352 - registry: mcr - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - crossBuild: true - crossrootfsDir: '/crossrootfs/s390x' - ${{ insert }}: ${{ parameters.jobParameters }} - # WebAssembly - ${{ if containsValue(parameters.platforms, 'Browser_wasm') }}: @@ -334,487 +71,3 @@ jobs: ${{ if eq(parameters.passPlatforms, true) }}: platforms: ${{ parameters.platforms }} ${{ insert }}: ${{ parameters.jobParameters }} - -# FreeBSD -- ${{ if containsValue(parameters.platforms, 'FreeBSD_x64') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: FreeBSD - archType: x64 - targetRid: freebsd-x64 - platform: FreeBSD_x64 - container: - image: ubuntu-18.04-cross-freebsd-12-20210917001307-f13d79e - registry: mcr - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - buildConfig: ${{ parameters.buildConfig }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - crossBuild: true - crossrootfsDir: '/crossrootfs/x64' - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - ${{ insert }}: ${{ parameters.jobParameters }} - -# Android x64 - -- ${{ if containsValue(parameters.platforms, 'Android_x64') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: Android - archType: x64 - targetRid: android-x64 - platform: Android_x64 - container: - image: ubuntu-18.04-android-20220131172314-3983b4e - registry: mcr - jobParameters: - runtimeFlavor: mono - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} - -# Android x86 - -- ${{ if containsValue(parameters.platforms, 'Android_x86') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: Android - archType: x86 - targetRid: android-x86 - platform: Android_x86 - container: - image: ubuntu-18.04-android-20220131172314-3983b4e - registry: mcr - jobParameters: - runtimeFlavor: mono - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} - -# Android arm - -- ${{ if containsValue(parameters.platforms, 'Android_arm') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: Android - archType: arm - targetRid: android-arm - platform: Android_arm - container: - image: ubuntu-18.04-android-20220131172314-3983b4e - registry: mcr - jobParameters: - runtimeFlavor: mono - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} - -# Android arm64 - -- ${{ if containsValue(parameters.platforms, 'Android_arm64') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: Android - archType: arm64 - targetRid: android-arm64 - platform: Android_arm64 - container: - image: ubuntu-18.04-android-20220131172314-3983b4e - registry: mcr - jobParameters: - runtimeFlavor: mono - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} - -# Mac Catalyst x64 - -- ${{ if containsValue(parameters.platforms, 'MacCatalyst_x64') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: MacCatalyst - archType: x64 - targetRid: maccatalyst-x64 - platform: MacCatalyst_x64 - jobParameters: - runtimeFlavor: mono - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} - -# Mac Catalyst arm64 - -- ${{ if containsValue(parameters.platforms, 'MacCatalyst_arm64') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: MacCatalyst - archType: arm64 - targetRid: maccatalyst-arm64 - platform: MacCatalyst_arm64 - jobParameters: - runtimeFlavor: mono - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} - -# tvOS arm64 - -- ${{ if containsValue(parameters.platforms, 'tvOS_arm64') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: tvOS - archType: arm64 - targetRid: tvos-arm64 - platform: tvOS_arm64 - jobParameters: - runtimeFlavor: mono - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} - -# tvOS Simulator x64 - -- ${{ if containsValue(parameters.platforms, 'tvOSSimulator_x64') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: tvOSSimulator - archType: x64 - targetRid: tvossimulator-x64 - platform: tvOSSimulator_x64 - jobParameters: - runtimeFlavor: mono - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} - -# tvOS Simulator arm64 - -- ${{ if containsValue(parameters.platforms, 'tvOSSimulator_arm64') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: tvOSSimulator - archType: arm64 - targetRid: tvossimulator-arm64 - platform: tvOSSimulator_arm64 - jobParameters: - runtimeFlavor: mono - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} - -# iOS arm - -- ${{ if containsValue(parameters.platforms, 'iOS_arm') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: iOS - archType: arm - targetRid: ios-arm - platform: iOS_arm - jobParameters: - runtimeFlavor: mono - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} - -# iOS arm64 - -- ${{ if containsValue(parameters.platforms, 'iOS_arm64') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: iOS - archType: arm64 - targetRid: ios-arm64 - platform: iOS_arm64 - jobParameters: - runtimeFlavor: mono - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} - -# iOS Simulator x64 - -- ${{ if containsValue(parameters.platforms, 'iOSSimulator_x64') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: iOSSimulator - archType: x64 - targetRid: iossimulator-x64 - platform: iOSSimulator_x64 - jobParameters: - runtimeFlavor: mono - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} - -# iOS Simulator x86 - -- ${{ if containsValue(parameters.platforms, 'iOSSimulator_x86') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: iOSSimulator - archType: x86 - targetRid: iossimulator-x86 - platform: iOSsimulator_x86 - jobParameters: - runtimeFlavor: mono - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - managedTestBuildOsGroup: OSX - ${{ insert }}: ${{ parameters.jobParameters }} - -# iOS Simulator arm64 - -- ${{ if containsValue(parameters.platforms, 'iOSSimulator_arm64') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: iOSSimulator - archType: arm64 - targetRid: iossimulator-arm64 - platform: iOSSimulator_arm64 - jobParameters: - runtimeFlavor: mono - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} - -# macOS arm64 - -- ${{ if containsValue(parameters.platforms, 'OSX_arm64') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: OSX - archType: arm64 - targetRid: osx-arm64 - platform: OSX_arm64 - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - crossBuild: true - ${{ insert }}: ${{ parameters.jobParameters }} - -# macOS x64 - -- ${{ if or(containsValue(parameters.platforms, 'OSX_x64'), eq(parameters.platformGroup, 'all')) }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: OSX - archType: x64 - targetRid: osx-x64 - platform: OSX_x64 - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} - -# Tizen armel - -- ${{ if containsValue(parameters.platforms, 'Tizen_armel') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: Tizen - archType: armel - targetRid: tizen-armel - platform: Tizen_armel - container: - image: ubuntu-18.04-cross-armel-tizen-20210719212651-8b02f56 - registry: mcr - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - crossBuild: true - crossrootfsDir: '/crossrootfs/armel' - disableClrTest: true - ${{ insert }}: ${{ parameters.jobParameters }} - -# Windows x64 - -- ${{ if or(containsValue(parameters.platforms, 'windows_x64'), in(parameters.platformGroup, 'all', 'gcstress')) }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: windows - archType: x64 - targetRid: win-x64 - platform: windows_x64 - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} - -# Windows x86 - -- ${{ if or(containsValue(parameters.platforms, 'windows_x86'), in(parameters.platformGroup, 'all', 'gcstress')) }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: windows - archType: x86 - targetRid: win-x86 - platform: windows_x86 - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} - -# Windows arm -- ${{ if or(containsValue(parameters.platforms, 'windows_arm'), eq(parameters.platformGroup, 'all')) }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: windows - archType: arm - targetRid: win-arm - platform: windows_arm - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} - -# Windows arm64 - -- ${{ if or(containsValue(parameters.platforms, 'windows_arm64'), in(parameters.platformGroup, 'all', 'gcstress')) }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: windows - archType: arm64 - targetRid: win-arm64 - platform: windows_arm64 - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - stagedBuild: ${{ parameters.stagedBuild }} - buildConfig: ${{ parameters.buildConfig }} - ${{ if eq(parameters.passPlatforms, true) }}: - platforms: ${{ parameters.platforms }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - ${{ insert }}: ${{ parameters.jobParameters }} diff --git a/eng/pipelines/runtime-extra-platforms-wasm.yml b/eng/pipelines/runtime-extra-platforms-wasm.yml index af51523090fca1..e36cb08ce769ac 100644 --- a/eng/pipelines/runtime-extra-platforms-wasm.yml +++ b/eng/pipelines/runtime-extra-platforms-wasm.yml @@ -141,93 +141,93 @@ jobs: # # runtime-wasm: Build the whole product using Mono and run libraries tests, for Wasm.Build.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: - - Browser_wasm - - Browser_wasm_win - jobParameters: - testGroup: innerloop - nameSuffix: WasmBuildTests - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:TestWasmBuildTests=true /p:TestAssemblies=false /p:BrowserHost=$(_hostedOs) - timeoutInMinutes: 180 - # always run for runtime-wasm builds (triggered manually) - condition: >- - eq(variables['isWasmOnlyBuild'], true) - # extra steps, run tests - extraStepsTemplate: /eng/pipelines/libraries/helix.yml - extraStepsParameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_$(_BuildConfig)_$(_hostedOs) - extraHelixArguments: /p:BrowserHost=$(_hostedOs) - scenarios: - - buildwasmapps +#- 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 + #- Browser_wasm_win + #jobParameters: + #testGroup: innerloop + #nameSuffix: WasmBuildTests + #buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:TestWasmBuildTests=true /p:TestAssemblies=false /p:BrowserHost=$(_hostedOs) + #timeoutInMinutes: 180 + ## always run for runtime-wasm builds (triggered manually) + #condition: >- + #eq(variables['isWasmOnlyBuild'], true) + ## extra steps, run tests + #extraStepsTemplate: /eng/pipelines/libraries/helix.yml + #extraStepsParameters: + #creator: dotnet-bot + #testRunNamePrefixSuffix: Mono_$(_BuildConfig)_$(_hostedOs) + #extraHelixArguments: /p:BrowserHost=$(_hostedOs) + #scenarios: + #- buildwasmapps -# -# runtime-wasm: Build the whole product using Mono and run libraries tests, for wasm debugger 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: - - Browser_wasm - - Browser_wasm_win - jobParameters: - testGroup: innerloop - nameSuffix: Mono_DebuggerTests - buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:TestWasmDebuggerTests=true /p:TestAssemblies=false /p:BrowserHost=$(_hostedOs) - timeoutInMinutes: 180 - # always run for runtime-wasm builds (triggered manually) - condition: >- - eq(variables['isWasmOnlyBuild'], true) - # extra steps, run tests - extraStepsTemplate: /eng/pipelines/libraries/helix.yml - extraStepsParameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_$(_BuildConfig)_$(_hostedOs) - extraHelixArguments: /p:BrowserHost=$(_hostedOs) - scenarios: - - wasmdebuggertests +## +## runtime-wasm: Build the whole product using Mono and run libraries tests, for wasm debugger 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: + #- Browser_wasm + #- Browser_wasm_win + #jobParameters: + #testGroup: innerloop + #nameSuffix: Mono_DebuggerTests + #buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:TestWasmDebuggerTests=true /p:TestAssemblies=false /p:BrowserHost=$(_hostedOs) + #timeoutInMinutes: 180 + ## always run for runtime-wasm builds (triggered manually) + #condition: >- + #eq(variables['isWasmOnlyBuild'], true) + ## extra steps, run tests + #extraStepsTemplate: /eng/pipelines/libraries/helix.yml + #extraStepsParameters: + #creator: dotnet-bot + #testRunNamePrefixSuffix: Mono_$(_BuildConfig)_$(_hostedOs) + #extraHelixArguments: /p:BrowserHost=$(_hostedOs) + #scenarios: + #- wasmdebuggertests -# -# runtime-wasm: Build the whole product using Mono and run runtime tests -# -- 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: - - Browser_wasm - 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: 10 - - name: timeoutPerTestCollectionInMinutes - value: 200 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_RuntimeTests - buildArgs: -s mono+libs -c $(_BuildConfig) - timeoutInMinutes: 180 - # always run for runtime-wasm builds (triggered manually) - condition: >- - eq(variables['isWasmOnlyBuild'], true) - extraStepsTemplate: /eng/pipelines/common/templates/runtimes/wasm-runtime-and-send-to-helix.yml - extraStepsParameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_$(_BuildConfig) +## +## runtime-wasm: Build the whole product using Mono and run runtime tests +## +#- 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: + #- Browser_wasm + #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: 10 + #- name: timeoutPerTestCollectionInMinutes + #value: 200 + #jobParameters: + #testGroup: innerloop + #nameSuffix: AllSubsets_Mono_RuntimeTests + #buildArgs: -s mono+libs -c $(_BuildConfig) + #timeoutInMinutes: 180 + ## always run for runtime-wasm builds (triggered manually) + #condition: >- + #eq(variables['isWasmOnlyBuild'], true) + #extraStepsTemplate: /eng/pipelines/common/templates/runtimes/wasm-runtime-and-send-to-helix.yml + #extraStepsParameters: + #creator: dotnet-bot + #testRunNamePrefixSuffix: Mono_$(_BuildConfig) diff --git a/eng/pipelines/runtime-staging.yml b/eng/pipelines/runtime-staging.yml index e8f707ff5e6d58..f50ab1f0c69ef3 100644 --- a/eng/pipelines/runtime-staging.yml +++ b/eng/pipelines/runtime-staging.yml @@ -311,180 +311,180 @@ jobs: # # Build the whole product using Mono and run libraries tests, for Wasm.Build.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: - - Browser_wasm_win - variables: - # map dependencies variables to local variables - - name: wasmbuildtestsContainsChange - value: $[ dependencies.evaluate_paths.outputs['SetPathVars_wasmbuildtests.containsChange'] ] - jobParameters: - isExtraPlatforms: ${{ variables.isExtraPlatformsBuild }} - testGroup: innerloop - nameSuffix: WasmBuildTests - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:TestWasmBuildTests=true /p:TestAssemblies=false /p:BrowserHost=$(_hostedOs) - timeoutInMinutes: 180 - condition: >- - eq(dependencies.evaluate_paths.outputs['SetPathVars_wasmbuildtests.containsChange'], true) - # extra steps, run tests - extraStepsTemplate: /eng/pipelines/libraries/helix.yml - extraStepsParameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_$(_BuildConfig)_$(_hostedOs) - extraHelixArguments: /p:BrowserHost=$(_hostedOs) - scenarios: - - buildwasmapps - condition: >- - eq(variables['wasmbuildtestsContainsChange'], 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: + #isExtraPlatforms: ${{ variables.isExtraPlatformsBuild }} + #testGroup: innerloop + #nameSuffix: WasmBuildTests + #buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:TestWasmBuildTests=true /p:TestAssemblies=false /p:BrowserHost=$(_hostedOs) + #timeoutInMinutes: 180 + #condition: >- + #eq(dependencies.evaluate_paths.outputs['SetPathVars_wasmbuildtests.containsChange'], true) + ## extra steps, run tests + #extraStepsTemplate: /eng/pipelines/libraries/helix.yml + #extraStepsParameters: + #creator: dotnet-bot + #testRunNamePrefixSuffix: Mono_$(_BuildConfig)_$(_hostedOs) + #extraHelixArguments: /p:BrowserHost=$(_hostedOs) + #scenarios: + #- buildwasmapps + #condition: >- + #eq(variables['wasmbuildtestsContainsChange'], true) -# -# Build Browser_wasm, on windows, run console and browser 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: - - 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: LibraryTests - 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)) - # extra steps, run tests - extraStepsTemplate: /eng/pipelines/libraries/helix.yml - extraStepsParameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Windows_wasm_$(_BuildConfig) - extraHelixArguments: /p:BrowserHost=windows - scenarios: - - normal - - wasmtestonbrowser - condition: >- - or( - eq(variables['librariesContainsChange'], true), - eq(variables['monoContainsChange'], true), - eq(variables['isRollingBuild'], true)) +## +## Build Browser_wasm, on windows, run console and browser 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: + #- 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: LibraryTests + #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)) + ## extra steps, run tests + #extraStepsTemplate: /eng/pipelines/libraries/helix.yml + #extraStepsParameters: + #creator: dotnet-bot + #testRunNamePrefixSuffix: Windows_wasm_$(_BuildConfig) + #extraHelixArguments: /p:BrowserHost=windows + #scenarios: + #- normal + #- wasmtestonbrowser + #condition: >- + #or( + #eq(variables['librariesContainsChange'], true), + #eq(variables['monoContainsChange'], true), + #eq(variables['isRollingBuild'], true)) -# -# Build for Browser/wasm with RunAOTCompilation=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: librariesContainsChange - value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] - - name: monoContainsChange - value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] - jobParameters: - isExtraPlatforms: ${{ variables.isExtraPlatformsBuild }} - testGroup: innerloop - nameSuffix: LibraryTests_AOT - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg) /p:EnableAggressiveTrimming=true /p:BuildAOTTestsOnHelix=true /p:RunAOTCompilation=true /p:BrowserHost=$(_hostedOs) - 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)) - # extra steps, run tests - extraStepsTemplate: /eng/pipelines/libraries/helix.yml - extraStepsParameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_AOT_$(_BuildConfig)_$(_hostedOs) - extraHelixArguments: /p:NeedsToBuildWasmAppsOnHelix=true $(_runSmokeTestsOnlyArg) /p:BrowserHost=$(_hostedOs) - scenarios: - - normal - condition: >- - or( - eq(variables['librariesContainsChange'], true), - eq(variables['monoContainsChange'], true)) +## +## Build for Browser/wasm with RunAOTCompilation=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: librariesContainsChange + #value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] + #- name: monoContainsChange + #value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] + #jobParameters: + #isExtraPlatforms: ${{ variables.isExtraPlatformsBuild }} + #testGroup: innerloop + #nameSuffix: LibraryTests_AOT + #buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg) /p:EnableAggressiveTrimming=true /p:BuildAOTTestsOnHelix=true /p:RunAOTCompilation=true /p:BrowserHost=$(_hostedOs) + #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)) + ## extra steps, run tests + #extraStepsTemplate: /eng/pipelines/libraries/helix.yml + #extraStepsParameters: + #creator: dotnet-bot + #testRunNamePrefixSuffix: Mono_AOT_$(_BuildConfig)_$(_hostedOs) + #extraHelixArguments: /p:NeedsToBuildWasmAppsOnHelix=true $(_runSmokeTestsOnlyArg) /p:BrowserHost=$(_hostedOs) + #scenarios: + #- normal + #condition: >- + #or( + #eq(variables['librariesContainsChange'], true), + #eq(variables['monoContainsChange'], true)) -# Wasm debugger tests - windows -- 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: wasmdebuggertestsContainsChange - value: $[ dependencies.evaluate_paths.outputs['SetPathVars_wasmdebuggertests.containsChange'] ] - jobParameters: - testGroup: innerloop - nameSuffix: Mono_DebuggerTests - buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:TestWasmDebuggerTests=true /p:TestAssemblies=false /p:BrowserHost=windows - timeoutInMinutes: 180 - condition: >- - or( - eq(dependencies.evaluate_paths.outputs['SetPathVars_wasmdebuggertests.containsChange'], true), - eq(variables['isRollingBuild'], true)) - # extra steps, run tests - extraStepsTemplate: /eng/pipelines/libraries/helix.yml - extraStepsParameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_$(_BuildConfig) - extraHelixArguments: /p:BrowserHost=windows - scenarios: - - wasmdebuggertests +## Wasm debugger tests - windows +#- 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: wasmdebuggertestsContainsChange + #value: $[ dependencies.evaluate_paths.outputs['SetPathVars_wasmdebuggertests.containsChange'] ] + #jobParameters: + #testGroup: innerloop + #nameSuffix: Mono_DebuggerTests + #buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:TestWasmDebuggerTests=true /p:TestAssemblies=false /p:BrowserHost=windows + #timeoutInMinutes: 180 + #condition: >- + #or( + #eq(dependencies.evaluate_paths.outputs['SetPathVars_wasmdebuggertests.containsChange'], true), + #eq(variables['isRollingBuild'], true)) + ## extra steps, run tests + #extraStepsTemplate: /eng/pipelines/libraries/helix.yml + #extraStepsParameters: + #creator: dotnet-bot + #testRunNamePrefixSuffix: Mono_$(_BuildConfig) + #extraHelixArguments: /p:BrowserHost=windows + #scenarios: + #- wasmdebuggertests -# Wasm debugger tests - linux -- 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 - variables: - # map dependencies variables to local variables - - name: wasmdebuggertestsContainsChange - value: $[ dependencies.evaluate_paths.outputs['SetPathVars_wasmdebuggertests.containsChange'] ] - jobParameters: - testGroup: innerloop - nameSuffix: Mono_DebuggerTests - buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:TestWasmDebuggerTests=true /p:TestAssemblies=false - timeoutInMinutes: 180 - condition: >- - or( - eq(dependencies.evaluate_paths.outputs['SetPathVars_wasmdebuggertests.containsChange'], true), - eq(variables['isRollingBuild'], true)) - # extra steps, run tests - extraStepsTemplate: /eng/pipelines/libraries/helix.yml - extraStepsParameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_$(_BuildConfig) - scenarios: - - wasmdebuggertests +## Wasm debugger tests - linux +#- 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 + #variables: + ## map dependencies variables to local variables + #- name: wasmdebuggertestsContainsChange + #value: $[ dependencies.evaluate_paths.outputs['SetPathVars_wasmdebuggertests.containsChange'] ] + #jobParameters: + #testGroup: innerloop + #nameSuffix: Mono_DebuggerTests + #buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:TestWasmDebuggerTests=true /p:TestAssemblies=false + #timeoutInMinutes: 180 + #condition: >- + #or( + #eq(dependencies.evaluate_paths.outputs['SetPathVars_wasmdebuggertests.containsChange'], true), + #eq(variables['isRollingBuild'], true)) + ## extra steps, run tests + #extraStepsTemplate: /eng/pipelines/libraries/helix.yml + #extraStepsParameters: + #creator: dotnet-bot + #testRunNamePrefixSuffix: Mono_$(_BuildConfig) + #scenarios: + #- wasmdebuggertests # # Build the whole product using Mono for Android and run runtime tests with Android devices diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index c37478db2e39ba..ef36002b0ca673 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -376,201 +376,201 @@ jobs: # # Build the whole product using Mono and run libraries tests, multi-scenario # -- 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 - 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: LibraryTests - 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['isRollingBuild'], true)) - # extra steps, run tests - extraStepsTemplate: /eng/pipelines/libraries/helix.yml - extraStepsParameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_$(_BuildConfig) - scenarios: - - normal - - WasmTestOnBrowser - condition: >- - or( - eq(variables['librariesContainsChange'], true), - eq(variables['monoContainsChange'], true), - eq(variables['isRollingBuild'], 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 + #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: LibraryTests + #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['isRollingBuild'], true)) + ## extra steps, run tests + #extraStepsTemplate: /eng/pipelines/libraries/helix.yml + #extraStepsParameters: + #creator: dotnet-bot + #testRunNamePrefixSuffix: Mono_$(_BuildConfig) + #scenarios: + #- normal + #- WasmTestOnBrowser + #condition: >- + #or( + #eq(variables['librariesContainsChange'], true), + #eq(variables['monoContainsChange'], true), + #eq(variables['isRollingBuild'], true)) -# -# Build the whole product using Mono and run libraries tests, for Wasm.Build.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: - - Browser_wasm - variables: - # map dependencies variables to local variables - - name: wasmbuildtestsContainsChange - value: $[ dependencies.evaluate_paths.outputs['SetPathVars_wasmbuildtests.containsChange'] ] - jobParameters: - testGroup: innerloop - nameSuffix: WasmBuildTests - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:TestWasmBuildTests=true /p:TestAssemblies=false - timeoutInMinutes: 180 - condition: >- - or( - eq(dependencies.evaluate_paths.outputs['SetPathVars_wasmbuildtests.containsChange'], true), - eq(variables['isRollingBuild'], true)) - # extra steps, run tests - extraStepsTemplate: /eng/pipelines/libraries/helix.yml - extraStepsParameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_$(_BuildConfig) - scenarios: - - buildwasmapps - condition: >- - or( - eq(variables['wasmbuildtestsContainsChange'], true), - eq(variables['isRollingBuild'], true)) +## +## Build the whole product using Mono and run libraries tests, for Wasm.Build.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: + #- Browser_wasm + #variables: + ## map dependencies variables to local variables + #- name: wasmbuildtestsContainsChange + #value: $[ dependencies.evaluate_paths.outputs['SetPathVars_wasmbuildtests.containsChange'] ] + #jobParameters: + #testGroup: innerloop + #nameSuffix: WasmBuildTests + #buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:TestWasmBuildTests=true /p:TestAssemblies=false + #timeoutInMinutes: 180 + #condition: >- + #or( + #eq(dependencies.evaluate_paths.outputs['SetPathVars_wasmbuildtests.containsChange'], true), + #eq(variables['isRollingBuild'], true)) + ## extra steps, run tests + #extraStepsTemplate: /eng/pipelines/libraries/helix.yml + #extraStepsParameters: + #creator: dotnet-bot + #testRunNamePrefixSuffix: Mono_$(_BuildConfig) + #scenarios: + #- buildwasmapps + #condition: >- + #or( + #eq(variables['wasmbuildtestsContainsChange'], true), + #eq(variables['isRollingBuild'], true)) -# -# Build for Browser/wasm, with EnableAggressiveTrimming=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 - 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: LibraryTests_EAT - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg) /p:EnableAggressiveTrimming=true /p:BuildAOTTestsOnHelix=true /p:RunAOTCompilation=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(variables['isRollingBuild'], true)) - # extra steps, run tests - extraStepsTemplate: /eng/pipelines/libraries/helix.yml - extraStepsParameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_$(_BuildConfig) - extraHelixArguments: /p:NeedsToBuildWasmAppsOnHelix=true $(_runSmokeTestsOnlyArg) - scenarios: - - normal - condition: >- - or( - eq(variables['librariesContainsChange'], true), - eq(variables['monoContainsChange'], true), - eq(variables['isRollingBuild'], true)) +## +## Build for Browser/wasm, with EnableAggressiveTrimming=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 + #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: LibraryTests_EAT + #buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg) /p:EnableAggressiveTrimming=true /p:BuildAOTTestsOnHelix=true /p:RunAOTCompilation=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(variables['isRollingBuild'], true)) + ## extra steps, run tests + #extraStepsTemplate: /eng/pipelines/libraries/helix.yml + #extraStepsParameters: + #creator: dotnet-bot + #testRunNamePrefixSuffix: Mono_$(_BuildConfig) + #extraHelixArguments: /p:NeedsToBuildWasmAppsOnHelix=true $(_runSmokeTestsOnlyArg) + #scenarios: + #- normal + #condition: >- + #or( + #eq(variables['librariesContainsChange'], true), + #eq(variables['monoContainsChange'], true), + #eq(variables['isRollingBuild'], true)) -# -# Build for Browser/wasm with RunAOTCompilation=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 - 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: LibraryTests_AOT - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg) /p:EnableAggressiveTrimming=true /p:BuildAOTTestsOnHelix=true /p:RunAOTCompilation=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['isRollingBuild'], true)) - # extra steps, run tests - extraStepsTemplate: /eng/pipelines/libraries/helix.yml - extraStepsParameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_$(_BuildConfig) - extraHelixArguments: /p:NeedsToBuildWasmAppsOnHelix=true $(_runSmokeTestsOnlyArg) - scenarios: - - normal - condition: >- - or( - eq(variables['librariesContainsChange'], true), - eq(variables['monoContainsChange'], true), - eq(variables['isRollingBuild'], true)) +## +## Build for Browser/wasm with RunAOTCompilation=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 + #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: LibraryTests_AOT + #buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg) /p:EnableAggressiveTrimming=true /p:BuildAOTTestsOnHelix=true /p:RunAOTCompilation=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['isRollingBuild'], true)) + ## extra steps, run tests + #extraStepsTemplate: /eng/pipelines/libraries/helix.yml + #extraStepsParameters: + #creator: dotnet-bot + #testRunNamePrefixSuffix: Mono_$(_BuildConfig) + #extraHelixArguments: /p:NeedsToBuildWasmAppsOnHelix=true $(_runSmokeTestsOnlyArg) + #scenarios: + #- normal + #condition: >- + #or( + #eq(variables['librariesContainsChange'], true), + #eq(variables['monoContainsChange'], true), + #eq(variables['isRollingBuild'], true)) -# -# Build the whole product using Mono and run runtime tests -# -- 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: - - Browser_wasm - 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: 10 - - name: timeoutPerTestCollectionInMinutes - value: 200 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_RuntimeTests - buildArgs: -s mono+libs -c $(_BuildConfig) - timeoutInMinutes: 180 - condition: >- - or( - eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), - eq(variables['isRollingBuild'], true)) - extraStepsTemplate: /eng/pipelines/common/templates/runtimes/wasm-runtime-and-send-to-helix.yml - extraStepsParameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_$(_BuildConfig) +## +## Build the whole product using Mono and run runtime tests +## +#- 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: + #- Browser_wasm + #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: 10 + #- name: timeoutPerTestCollectionInMinutes + #value: 200 + #jobParameters: + #testGroup: innerloop + #nameSuffix: AllSubsets_Mono_RuntimeTests + #buildArgs: -s mono+libs -c $(_BuildConfig) + #timeoutInMinutes: 180 + #condition: >- + #or( + #eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + #eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + #eq(variables['isRollingBuild'], true)) + #extraStepsTemplate: /eng/pipelines/common/templates/runtimes/wasm-runtime-and-send-to-helix.yml + #extraStepsParameters: + #creator: dotnet-bot + #testRunNamePrefixSuffix: Mono_$(_BuildConfig) # Build and test libraries under single-file publishing - template: /eng/pipelines/common/platform-matrix.yml From 6ad893499e76310b6676484062ccf6006f3b9484 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Fri, 11 Feb 2022 20:28:54 -0500 Subject: [PATCH 13/19] [wasm] Add WasmEmitSymbolMap, and make it opt-in till blazor gets support for it --- eng/testing/tests.wasm.targets | 2 ++ src/mono/sample/wasm/Directory.Build.props | 1 + src/mono/wasm/build/WasmApp.Native.targets | 3 ++- src/mono/wasm/build/WasmApp.targets | 2 +- 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/eng/testing/tests.wasm.targets b/eng/testing/tests.wasm.targets index c9285f475264dc..8a79ad68669be2 100644 --- a/eng/testing/tests.wasm.targets +++ b/eng/testing/tests.wasm.targets @@ -9,6 +9,7 @@ true + true <_ShellCommandSeparator Condition="'$(OS)' == 'Windows_NT'">&& @@ -160,6 +161,7 @@ <_WasmPropertyNames Include="WasmNativeStrip" /> <_WasmPropertyNames Include="WasmEnableES6" /> <_WasmPropertyNames Include="_WasmDevel" /> + <_WasmPropertyNames Include="WasmEmitSymbolMap" /> <_WasmPropertiesToPass Include="$(%(_WasmPropertyNames.Identity))" diff --git a/src/mono/sample/wasm/Directory.Build.props b/src/mono/sample/wasm/Directory.Build.props index 6fc27dc90d9ae7..a3db3df89220f9 100644 --- a/src/mono/sample/wasm/Directory.Build.props +++ b/src/mono/sample/wasm/Directory.Build.props @@ -10,6 +10,7 @@ bin $(MSBuildProjectDirectory)\bin\$(Configuration)\AppBundle\ + true false diff --git a/src/mono/wasm/build/WasmApp.Native.targets b/src/mono/wasm/build/WasmApp.Native.targets index d92c7f9e9c4130..4047827e56f67e 100644 --- a/src/mono/wasm/build/WasmApp.Native.targets +++ b/src/mono/wasm/build/WasmApp.Native.targets @@ -156,7 +156,8 @@ true true $(WasmBuildNative) - true + + false <_WasmICallTablePath>$(_WasmIntermediateOutputPath)icall-table.h <_WasmRuntimeICallTablePath>$(_WasmIntermediateOutputPath)runtime-icall-table.h diff --git a/src/mono/wasm/build/WasmApp.targets b/src/mono/wasm/build/WasmApp.targets index 04d8c4c6da1775..33954083969b05 100644 --- a/src/mono/wasm/build/WasmApp.targets +++ b/src/mono/wasm/build/WasmApp.targets @@ -262,8 +262,8 @@ - + From efabfcf7183d071ae3a965848715ec90795a7013 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Fri, 11 Feb 2022 20:29:34 -0500 Subject: [PATCH 14/19] dotnet-install.sh logs errors from curl, while trying older urls, don't let that fail the build --- eng/testing/workloads-testing.targets | 1 + 1 file changed, 1 insertion(+) diff --git a/eng/testing/workloads-testing.targets b/eng/testing/workloads-testing.targets index 866e80d596f3da..ca2429b7f94d10 100644 --- a/eng/testing/workloads-testing.targets +++ b/eng/testing/workloads-testing.targets @@ -48,6 +48,7 @@ Condition="!Exists($(_DotNetInstallScriptPath))"/> Date: Fri, 11 Feb 2022 20:38:00 -0500 Subject: [PATCH 15/19] run only specific tests --- src/libraries/tests.proj | 66 +++++++++++++++++++++------------------- 1 file changed, 35 insertions(+), 31 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 0c454ba067550b..30f5bfe4a90776 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -373,37 +373,41 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 831c9c6e219acde76ed1274366f13764270b8504 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Fri, 11 Feb 2022 20:39:36 -0500 Subject: [PATCH 16/19] add multiple copies of helix items --- src/libraries/sendtohelixhelp.proj | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index 3875c28fdf383d..b620b33ac0707b 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -248,6 +248,31 @@ $(HelixCommand) $(_workItemTimeout) + + %(Identity) + $(HelixCommand) + $(_workItemTimeout) + + + %(Identity) + $(HelixCommand) + $(_workItemTimeout) + + + %(Identity) + $(HelixCommand) + $(_workItemTimeout) + + + %(Identity) + $(HelixCommand) + $(_workItemTimeout) + + + %(Identity) + $(HelixCommand) + $(_workItemTimeout) + From 8502a07461846514d6feb6ac910ee5ff6ba89b7a Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Mon, 14 Feb 2022 15:24:54 -0500 Subject: [PATCH 17/19] Enable assertions, get memalign fix, remove --allow-undefined --- src/mono/wasm/build/WasmApp.Native.targets | 3 +-- src/mono/wasm/wasm.proj | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/mono/wasm/build/WasmApp.Native.targets b/src/mono/wasm/build/WasmApp.Native.targets index 67ce8016c2c1ff..f274c3ad03895d 100644 --- a/src/mono/wasm/build/WasmApp.Native.targets +++ b/src/mono/wasm/build/WasmApp.Native.targets @@ -169,7 +169,7 @@ <_DriverGenCNeeded Condition="'$(_DriverGenCNeeded)' == '' and '$(_WasmShouldAOT)' == 'true'">true - <_EmccAssertionLevelDefault Condition="'$(_EmccAssertionLevelDefault)' == ''">0 + <_EmccAssertionLevelDefault Condition="'$(_EmccAssertionLevelDefault)' == ''">1 <_EmccOptimizationFlagDefault Condition="'$(_WasmDevel)' == 'true'">-O0 -s ASSERTIONS=$(_EmccAssertionLevelDefault) <_EmccOptimizationFlagDefault Condition="'$(_EmccOptimizationFlagDefault)' == '' and '$(Configuration)' == 'Debug' and '$(WasmBuildingForNestedPublish)' != 'true'">-O1 <_EmccOptimizationFlagDefault Condition="'$(_EmccOptimizationFlagDefault)' == ''">-Oz @@ -220,7 +220,6 @@ <_EmccLDFlags Include="$(EmccLinkOptimizationFlag)" /> <_EmccLDFlags Include="@(_EmccCommonFlags)" /> - <_EmccLDFlags Include="-Wl,--allow-undefined" /> <_EmccLDSFlags Include="-s TOTAL_MEMORY=$(EmccTotalMemory)" /> diff --git a/src/mono/wasm/wasm.proj b/src/mono/wasm/wasm.proj index fac0e1bd9ef73c..6a2781ad322941 100644 --- a/src/mono/wasm/wasm.proj +++ b/src/mono/wasm/wasm.proj @@ -72,7 +72,7 @@ <_EmccLinkFlags Include="-s FORCE_FILESYSTEM=1" /> <_EmccLinkFlags Include="-s EXPORTED_RUNTIME_METHODS="['FS','print','ccall','cwrap','setValue','getValue','UTF8ToString','UTF8ArrayToString','FS_createPath','FS_createDataFile','removeRunDependency','addRunDependency']"" /> - <_EmccLinkFlags Include="-s EXPORTED_FUNCTIONS=_free,_malloc,_htons,_ntohs,__get_daylight,__get_timezone,__get_tzname" /> + <_EmccLinkFlags Include="-s EXPORTED_FUNCTIONS=_free,_malloc,_htons,_ntohs,__get_daylight,__get_timezone,__get_tzname,_memalign" /> <_EmccLinkFlags Include="--source-map-base http://example.com" /> <_EmccLinkFlags Include="-s STRICT_JS=1" /> <_EmccLinkFlags Include="-s EXPORT_NAME="'createDotnetRuntime'"" /> From a71daa47d1464d3b8c7dbbac67c8a9020a5b4d4f Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Mon, 14 Feb 2022 15:42:51 -0500 Subject: [PATCH 18/19] enable tests --- src/libraries/tests.proj | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index c58b0c9e1234c1..4a10884e150903 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -377,11 +377,12 @@ - - - - + + + + + From f3750e778518ccbc28969d89c846891d659d3c14 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Tue, 15 Feb 2022 00:09:33 -0500 Subject: [PATCH 19/19] Enable more tests --- src/libraries/tests.proj | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 4a10884e150903..c3d51680db6cc5 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -44,7 +44,7 @@ - + @@ -291,7 +291,7 @@ - + @@ -344,13 +344,13 @@ - - - - - - - + + + + + + +