diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 590304ba83d72..f10fe895f5bb0 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,16 +1,16 @@ - + https://github.com/dotnet/icu - 5416401e2e54d6ce9bef7f0c4a5fe25088c42652 + d3c9d26f8e787253536d38504d3ac9e307573bfb https://github.com/dotnet/msquic 4fe73fcad4b0af91cc49fd1f5576f0111f15f6fd - + https://github.com/dotnet/emsdk - d2be7d0bf644d9608bf8180d706483238d85f13a + b8e71431b3eaa024afad7886699f8ac6bca2ba01 https://github.com/dotnet/wcf diff --git a/eng/Versions.props b/eng/Versions.props index d28e349173db3..5634c8a7d7a41 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -172,7 +172,7 @@ 7.0.100-1.22160.1 $(MicrosoftNETILLinkTasksVersion) - 7.0.0-preview.3.22157.1 + 7.0.0-preview.3.22121.1 7.0.0-alpha.1.22160.2 @@ -185,7 +185,7 @@ 11.1.0-alpha.1.22164.2 11.1.0-alpha.1.22164.2 - 7.0.0-preview.3.22167.1 + 7.0.0-preview.3.22121.1 $(MicrosoftNETWorkloadEmscriptenManifest70100Version) 1.1.87-gba258badda diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml index 22fa0be43584d..a31f595580cf5 100644 --- a/eng/pipelines/common/platform-matrix.yml +++ b/eng/pipelines/common/platform-matrix.yml @@ -303,7 +303,7 @@ jobs: targetRid: browser-wasm platform: Browser_wasm container: - image: ubuntu-18.04-webassembly-20210707133424-12f133e + image: ubuntu-18.04-webassembly-20220118141522-180197c registry: mcr jobParameters: hostedOs: Linux diff --git a/eng/pipelines/common/templates/wasm-library-tests.yml b/eng/pipelines/common/templates/wasm-library-tests.yml index 539e2ffa69359..8ebf5646fc7e5 100644 --- a/eng/pipelines/common/templates/wasm-library-tests.yml +++ b/eng/pipelines/common/templates/wasm-library-tests.yml @@ -35,7 +35,7 @@ jobs: testGroup: innerloop nameSuffix: LibraryTests${{ parameters.nameSuffix }} buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:BrowserHost=$(_hostedOs) ${{ parameters.runSmokeOnlyArg }} ${{ parameters.extraBuildArgs }} - timeoutInMinutes: 180 + timeoutInMinutes: 240 # always run for runtime-wasm builds (triggered manually) # Always run for rolling builds # Else run on path changes diff --git a/eng/pipelines/libraries/helix-queues-setup.yml b/eng/pipelines/libraries/helix-queues-setup.yml index ef1cdc9ebab0d..df537fdc8699d 100644 --- a/eng/pipelines/libraries/helix-queues-setup.yml +++ b/eng/pipelines/libraries/helix-queues-setup.yml @@ -182,6 +182,6 @@ jobs: # WebAssembly windows - ${{ if eq(parameters.platform, 'Browser_wasm_win') }}: - - (Windows.Server.Core.1909.Amd64.Open)windows.10.amd64.server20h2.open@mcr.microsoft.com/dotnet-buildtools/prereqs:windowsservercore-2004-helix-webassembly-amd64-20210702131541-6837048 + - (Windows.Amd64.Server2022.Open)windows.amd64.server2022.open@mcr.microsoft.com/dotnet-buildtools/prereqs:windowsservercore-ltsc2022-helix-webassembly-20220118164817-dc6e6f1 ${{ insert }}: ${{ parameters.jobParameters }} diff --git a/src/mono/mono/component/debugger-agent.c b/src/mono/mono/component/debugger-agent.c index d53619b8bc8f1..49acdc3abe18d 100644 --- a/src/mono/mono/component/debugger-agent.c +++ b/src/mono/mono/component/debugger-agent.c @@ -414,6 +414,7 @@ static gboolean buffer_replies; DebuggerTlsData *tls; \ tls = (DebuggerTlsData *)mono_native_tls_get_value (debugger_tls_id); #else +/* the thread argument is omitted on wasm, to avoid compiler warning */ #define GET_TLS_DATA_FROM_THREAD(...) \ DebuggerTlsData *tls; \ tls = &debugger_wasm_thread; diff --git a/src/mono/wasm/README.md b/src/mono/wasm/README.md index 2fd07e682ad72..841af5b07303b 100644 --- a/src/mono/wasm/README.md +++ b/src/mono/wasm/README.md @@ -188,6 +188,7 @@ Bumping Emscripten version involves these steps: * update https://github.com/dotnet/runtime/blob/main/src/mono/wasm/emscripten-version.txt * bump emscripten versions in docker images in https://github.com/dotnet/dotnet-buildtools-prereqs-docker * bump emscripten in https://github.com/dotnet/emsdk +* bump docker images in https://github.com/dotnet/icu, update emscripten files in eng/patches/ * update version number in docs * update `Microsoft.NET.Runtime.Emscripten..Node.win-x64` package name, version and sha hash in https://github.com/dotnet/runtime/blob/main/eng/Version.Details.xml and in https://github.com/dotnet/runtime/blob/main/eng/Versions.props. the sha is the commit hash in https://github.com/dotnet/emsdk and the package version can be found at https://dev.azure.com/dnceng/public/_packaging?_a=feed&feed=dotnet6 * update packages in the workload manifest https://github.com/dotnet/runtime/blob/main/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Manifest/WorkloadManifest.json.in diff --git a/src/mono/wasm/build/README.md b/src/mono/wasm/build/README.md index c6fb0a8681944..3e1d8902550aa 100644 --- a/src/mono/wasm/build/README.md +++ b/src/mono/wasm/build/README.md @@ -137,7 +137,7 @@ them for the new task assembly. If encountering build performance issues, you can use the rollup `--perf` option and the typescript compiler `--generateCpuProfile` option to get build profile data, like so: -```../emsdk/node/14.15.5_64bit/bin/npm run rollup --perf -- --perf --environment Configuration:Release,NativeBinDir:./rollup-test-data,ProductVersion:12.3.4``` +```../emsdk/node/14.18.2_64bit/bin/npm run rollup --perf -- --perf --environment Configuration:Release,NativeBinDir:./rollup-test-data,ProductVersion:12.3.4``` ```node node_modules/typescript/lib/tsc.js --generateCpuProfile dotnet-tsc.cpuprofile -p tsconfig.json ``` diff --git a/src/mono/wasm/build/WasmApp.Native.targets b/src/mono/wasm/build/WasmApp.Native.targets index 5fb4c12e36fba..bea1676405c96 100644 --- a/src/mono/wasm/build/WasmApp.Native.targets +++ b/src/mono/wasm/build/WasmApp.Native.targets @@ -255,6 +255,7 @@ <_WasmNativeFileForLinking Include="@(NativeFileReference)" /> + diff --git a/src/mono/wasm/emscripten-version.txt b/src/mono/wasm/emscripten-version.txt index 8fe1046e01fc8..94ff29cc4de4f 100644 --- a/src/mono/wasm/emscripten-version.txt +++ b/src/mono/wasm/emscripten-version.txt @@ -1 +1 @@ -2.0.23 \ No newline at end of file +3.1.1 diff --git a/src/mono/wasm/wasm.proj b/src/mono/wasm/wasm.proj index df423fbf994b8..13b99eae4edb6 100644 --- a/src/mono/wasm/wasm.proj +++ b/src/mono/wasm/wasm.proj @@ -119,7 +119,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', 'FS_readFile']"" /> - <_EmccLinkFlags Include="-s EXPORTED_FUNCTIONS=_free,_malloc,_memalign,_memset" Condition="$([MSBuild]::VersionGreaterThan('$(_EmccVersion)', '3.0'))" /> + <_EmccLinkFlags Include="-s EXPORTED_FUNCTIONS=_free,_malloc,_memalign,_memset,_htons,_ntohs,__get_daylight,__get_timezone,__get_tzname" Condition="$([MSBuild]::VersionGreaterThan('$(_EmccVersion)', '3.0'))" /> <_EmccLinkFlags Include="-s EXPORTED_FUNCTIONS=_free,_malloc,_htons,_ntohs,__get_daylight,__get_timezone,__get_tzname,_memalign" Condition="$([MSBuild]::VersionLessThan('$(_EmccVersion)', '3.0'))" /> <_EmccLinkFlags Include="--source-map-base http://example.com" /> <_EmccLinkFlags Include="-s STRICT_JS=1" /> diff --git a/src/tests/BuildWasmApps/Wasm.Build.Tests/BlazorWasmBuildPublishTests.cs b/src/tests/BuildWasmApps/Wasm.Build.Tests/BlazorWasmBuildPublishTests.cs index 28bfa196778c4..769c90cb29214 100644 --- a/src/tests/BuildWasmApps/Wasm.Build.Tests/BlazorWasmBuildPublishTests.cs +++ b/src/tests/BuildWasmApps/Wasm.Build.Tests/BlazorWasmBuildPublishTests.cs @@ -89,7 +89,7 @@ public void NativeBuild_WithDeployOnBuild_UsedByVS(string config, bool nativeRel AddItemsPropertiesToProject(projectFile, extraProperties: nativeRelink ? string.Empty : "true"); // build with -p:DeployOnBuild=true, and that will trigger a publish - (CommandResult res, _) = BuildInternal(id, config, publish: false, "-p:DeployOnBuild=true"); + (CommandResult res, _) = BuildInternal(id, config, publish: false, setWasmDevel: false, "-p:DeployOnBuild=true"); var expectedFileType = nativeRelink ? NativeFilesType.Relinked : NativeFilesType.AOT; diff --git a/src/tests/BuildWasmApps/Wasm.Build.Tests/BuildTestBase.cs b/src/tests/BuildWasmApps/Wasm.Build.Tests/BuildTestBase.cs index 5a98a8b591a31..076d87d069428 100644 --- a/src/tests/BuildWasmApps/Wasm.Build.Tests/BuildTestBase.cs +++ b/src/tests/BuildWasmApps/Wasm.Build.Tests/BuildTestBase.cs @@ -398,7 +398,7 @@ public string CreateBlazorWasmTemplateProject(string id) protected (CommandResult, string) BlazorBuild(BlazorBuildOptions options, params string[] extraArgs) { - var res = BuildInternal(options.Id, options.Config, publish: false, extraArgs); + var res = BuildInternal(options.Id, options.Config, publish: false, setWasmDevel: false, extraArgs); AssertDotNetNativeFiles(options.ExpectedFileType, options.Config, forPublish: false, targetFramework: options.TargetFramework); AssertBlazorBundle(options.Config, isPublish: false, dotnetWasmFromRuntimePack: options.ExpectedFileType == NativeFilesType.FromRuntimePack); @@ -407,7 +407,7 @@ public string CreateBlazorWasmTemplateProject(string id) protected (CommandResult, string) BlazorPublish(BlazorBuildOptions options, params string[] extraArgs) { - var res = BuildInternal(options.Id, options.Config, publish: true, extraArgs); + var res = BuildInternal(options.Id, options.Config, publish: true, setWasmDevel: false, extraArgs); AssertDotNetNativeFiles(options.ExpectedFileType, options.Config, forPublish: true, targetFramework: options.TargetFramework); AssertBlazorBundle(options.Config, isPublish: true, dotnetWasmFromRuntimePack: options.ExpectedFileType == NativeFilesType.FromRuntimePack); @@ -423,7 +423,7 @@ public string CreateBlazorWasmTemplateProject(string id) return res; } - protected (CommandResult, string) BuildInternal(string id, string config, bool publish=false, params string[] extraArgs) + protected (CommandResult, string) BuildInternal(string id, string config, bool publish=false, bool setWasmDevel=true, params string[] extraArgs) { string label = publish ? "publish" : "build"; Console.WriteLine($"{Environment.NewLine}** {label} **{Environment.NewLine}"); @@ -435,7 +435,7 @@ public string CreateBlazorWasmTemplateProject(string id) $"-bl:{logPath}", $"-p:Configuration={config}", "-p:BlazorEnableCompression=false", - "-p:_WasmDevel=true" + setWasmDevel ? "-p:_WasmDevel=true" : string.Empty }.Concat(extraArgs).ToArray(); CommandResult res = new DotNetCommand(s_buildEnv) diff --git a/src/tests/BuildWasmApps/Wasm.Build.Tests/NativeRebuildTests/NoopNativeRebuildTest.cs b/src/tests/BuildWasmApps/Wasm.Build.Tests/NativeRebuildTests/NoopNativeRebuildTest.cs index 6a0c860aa9731..1b9d9f01bde2f 100644 --- a/src/tests/BuildWasmApps/Wasm.Build.Tests/NativeRebuildTests/NoopNativeRebuildTest.cs +++ b/src/tests/BuildWasmApps/Wasm.Build.Tests/NativeRebuildTests/NoopNativeRebuildTest.cs @@ -73,7 +73,7 @@ public void BlazorOnlyLinkRebuild(string config) string objDir = Path.Combine(_projectDir!, "obj", config, DefaultTargetFramework, "wasm"); - BlazorBuild(new BlazorBuildOptions(id, config, NativeFilesType.Relinked)); + BlazorBuild(new BlazorBuildOptions(id, config, NativeFilesType.Relinked), "-p:EmccLinkOptimizationFlag=-O2"); File.Move(Path.Combine(s_buildEnv.LogRootPath, id, $"{id}-build.binlog"), Path.Combine(s_buildEnv.LogRootPath, id, $"{id}-build-first.binlog"));