diff --git a/.azure/pipelines/ci.yml b/.azure/pipelines/ci.yml
index eb38671015..6070086773 100644
--- a/.azure/pipelines/ci.yml
+++ b/.azure/pipelines/ci.yml
@@ -254,6 +254,38 @@ stages:
- name: Windows_arm_Packages
path: artifacts/packages/
+ # Build Windows ARM64
+ - template: jobs/default-build.yml
+ parameters:
+ codeSign: true
+ jobName: Windows_64_build
+ jobDisplayName: "Build: Windows ARM64"
+ agentOs: Windows
+ buildArgs:
+ -arch arm64
+ -sign
+ -pack
+ -noBuildNodeJS
+ -noBuildJava
+ /bl:artifacts/log/build.win-arm64.binlog
+ /p:DotNetSignType=$(_SignType)
+ /p:OnlyPackPlatformSpecificPackages=true
+ /p:AssetManifestFileName=aspnetcore-win-arm64.xml
+ $(_BuildArgs)
+ $(_PublishArgs)
+ $(_InternalRuntimeDownloadArgs)
+ installNodeJs: false
+ installJdk: false
+ artifacts:
+ - name: Windows_arm64_Logs
+ path: artifacts/log/
+ publishOnError: true
+ includeForks: true
+ - name: Windows_arm64_Packages
+ path: artifacts/packages/
+ - name: Windows_arm64_Installers
+ path: artifacts/installers/
+
# Build MacOS
- template: jobs/default-build.yml
parameters:
@@ -683,7 +715,7 @@ stages:
# Helix ARM64
- template: jobs/default-build.yml
parameters:
- condition: ne(variables['Build.Reason'], 'PullRequest')
+ condition: and(eq(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'))
jobName: Helix_arm64_daily
jobDisplayName: "Tests: Helix ARM64 Daily"
agentOs: Linux
diff --git a/.azure/pipelines/quarantined-tests.yml b/.azure/pipelines/quarantined-tests.yml
index bb9224b38b..415853ed8e 100644
--- a/.azure/pipelines/quarantined-tests.yml
+++ b/.azure/pipelines/quarantined-tests.yml
@@ -32,10 +32,10 @@ jobs:
steps:
# Build the shared framework
- script: ./build.cmd -ci -all -pack -arch x64 -buildNative /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log /bl:artifacts/log/helix.build.x64.binlog
- displayName: Build shared fx
+ displayName: Build shared fx
- script: .\restore.cmd -ci
displayName: Restore
- - script: .\build.cmd -ci -NoRestore -test -projects eng\helix\helix.proj /p:RunQuarantinedTests=true /p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildAllProjects=true /p:BuildNative=true /p:RunTemplateTests=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log -bl
+ - script: .\build.cmd -ci -NoRestore -test -noBuildJava -projects eng\helix\helix.proj /p:RunQuarantinedTests=true /p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildAllProjects=true /p:BuildNative=true /p:RunTemplateTests=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log -bl
displayName: Run build.cmd helix target
env:
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
diff --git a/Directory.Build.props b/Directory.Build.props
index a2765ff560..c40d203441 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -123,6 +123,7 @@
win-x64;
win-x86;
win-arm;
+ win-arm64;
osx-x64;
linux-musl-x64;
linux-musl-arm64;
diff --git a/build.ps1 b/build.ps1
index 7ce1d87f58..f371d26673 100644
--- a/build.ps1
+++ b/build.ps1
@@ -118,7 +118,7 @@ param(
[ValidateSet('Debug', 'Release')]
$Configuration,
- [ValidateSet('x64', 'x86', 'arm')]
+ [ValidateSet('x64', 'x86', 'arm', 'arm64')]
$Architecture = 'x64',
# A list of projects which should be built.
@@ -157,7 +157,7 @@ param(
# Other lifecycle targets
[switch]$Help, # Show help
-
+
# Optional arguments that enable downloading an internal
# runtime or runtime from a non-default location
[string]$DotNetRuntimeSourceFeed,
diff --git a/eng/Dependencies.props b/eng/Dependencies.props
index 95e9606528..ecee11a86f 100644
--- a/eng/Dependencies.props
+++ b/eng/Dependencies.props
@@ -94,6 +94,7 @@ and are generated based on the last package release.
+
diff --git a/eng/Signing.props b/eng/Signing.props
index 3b61e9205f..024a5c8a0a 100644
--- a/eng/Signing.props
+++ b/eng/Signing.props
@@ -93,9 +93,11 @@
<_DotNetFilesToExclude Include="$(BaseRedistNetCorePath)win-x64\shared\Microsoft.NETCore.App\**\*.dll" CertificateName="None" />
<_DotNetFilesToExclude Include="$(BaseRedistNetCorePath)win-x86\shared\Microsoft.NETCore.App\**\*.dll" CertificateName="None" />
<_DotNetFilesToExclude Include="$(BaseRedistNetCorePath)win-arm\shared\Microsoft.NETCore.App\**\*.dll" CertificateName="None" />
+ <_DotNetFilesToExclude Include="$(BaseRedistNetCorePath)win-arm64\shared\Microsoft.NETCore.App\**\*.dll" CertificateName="None" />
<_DotNetFilesToExclude Include="$(BaseRedistNetCorePath)win-x64\host\**\*.dll" CertificateName="None" />
<_DotNetFilesToExclude Include="$(BaseRedistNetCorePath)win-x86\host\**\*.dll" CertificateName="None" />
<_DotNetFilesToExclude Include="$(BaseRedistNetCorePath)win-arm\host\**\*.dll" CertificateName="None" />
+ <_DotNetFilesToExclude Include="$(BaseRedistNetCorePath)win-arm64\host\**\*.dll" CertificateName="None" />
<_DotNetFilesToExclude Include="$(RedistNetCorePath)dotnet.exe" CertificateName="None" />
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 786f602f42..4de6e29439 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -13,324 +13,324 @@
https://github.com/dotnet/blazor
dd7fb4d3931d556458f62642c2edfc59f6295bfb
-
+
https://github.com/dotnet/aspnetcore-tooling
- 51261eb11f5449ba910530423c676a36006cdd1f
+ 89579a87b9e8701a79e3584fa8bfd4e4efedcc7e
-
+
https://github.com/dotnet/aspnetcore-tooling
- 51261eb11f5449ba910530423c676a36006cdd1f
+ 89579a87b9e8701a79e3584fa8bfd4e4efedcc7e
-
+
https://github.com/dotnet/aspnetcore-tooling
- 51261eb11f5449ba910530423c676a36006cdd1f
+ 89579a87b9e8701a79e3584fa8bfd4e4efedcc7e
-
+
https://github.com/dotnet/aspnetcore-tooling
- 51261eb11f5449ba910530423c676a36006cdd1f
+ 89579a87b9e8701a79e3584fa8bfd4e4efedcc7e
-
+
https://github.com/dotnet/efcore
- dee8cbb35bb0d2dd652349bed325f7fb157914d4
+ f1a6840fbc5c72a6cf2756dbdbcc65622434ebd7
-
+
https://github.com/dotnet/efcore
- dee8cbb35bb0d2dd652349bed325f7fb157914d4
+ f1a6840fbc5c72a6cf2756dbdbcc65622434ebd7
-
+
https://github.com/dotnet/efcore
- dee8cbb35bb0d2dd652349bed325f7fb157914d4
+ f1a6840fbc5c72a6cf2756dbdbcc65622434ebd7
-
+
https://github.com/dotnet/efcore
- dee8cbb35bb0d2dd652349bed325f7fb157914d4
+ f1a6840fbc5c72a6cf2756dbdbcc65622434ebd7
-
+
https://github.com/dotnet/efcore
- dee8cbb35bb0d2dd652349bed325f7fb157914d4
+ f1a6840fbc5c72a6cf2756dbdbcc65622434ebd7
-
+
https://github.com/dotnet/efcore
- dee8cbb35bb0d2dd652349bed325f7fb157914d4
+ f1a6840fbc5c72a6cf2756dbdbcc65622434ebd7
-
+
https://github.com/dotnet/efcore
- dee8cbb35bb0d2dd652349bed325f7fb157914d4
+ f1a6840fbc5c72a6cf2756dbdbcc65622434ebd7
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/runtime
- e2881ae96bb4399864723aa46469c82379b03b32
+ 2f6e072c97738a56eeeb25f1fdb5dcc955649db0
-
+
https://github.com/dotnet/extensions
- 6ae4b22a059858eba7b3d9068f812ada92df8e24
+ 9a8d035b5f1c7264d8537d73a08cb812238699f1
https://github.com/dotnet/arcade
diff --git a/eng/Versions.props b/eng/Versions.props
index 1618d1330a..179f752bcc 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -9,7 +9,7 @@
5
0
0
- 2
+ 3
@@ -66,91 +66,91 @@
3.5.0-beta4-20153-05
- 5.0.0-preview.2-runtime.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 2.1.0-preview.2.20155.1
+ 5.0.0-preview.2-runtime.20155.3
+ 5.0.0-preview.2.20155.3
+ 5.0.0-preview.2.20155.3
+ 5.0.0-preview.2.20155.3
+ 2.1.0-preview.2.20155.3
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
+ 5.0.0-preview.2.20155.3
+ 5.0.0-preview.2.20155.3
+ 5.0.0-preview.2.20155.3
+ 5.0.0-preview.2.20155.3
+ 5.0.0-preview.2.20155.3
+ 5.0.0-preview.2.20155.3
+ 5.0.0-preview.2.20155.3
+ 5.0.0-preview.2.20155.3
+ 5.0.0-preview.2.20155.3
+ 5.0.0-preview.2.20155.3
+ 5.0.0-preview.2.20155.3
+ 5.0.0-preview.2.20155.3
+ 5.0.0-preview.2.20155.3
+ 5.0.0-preview.2.20155.3
+ 5.0.0-preview.2.20155.3
+ 5.0.0-preview.2.20155.3
+ 5.0.0-preview.2.20155.3
+ 5.0.0-preview.2.20155.3
+ 5.0.0-preview.2.20155.3
+ 5.0.0-preview.2.20155.3
- 5.0.0-preview.2.20155.1
+ 5.0.0-preview.2.20155.3
3.2.0-preview1.20067.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
- 5.0.0-preview.2.20155.1
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
+ 5.0.0-preview.3.20156.2
- 5.0.0-preview.2.20155.2
- 5.0.0-preview.2.20155.2
- 5.0.0-preview.2.20155.2
- 5.0.0-preview.2.20155.2
- 5.0.0-preview.2.20155.2
- 5.0.0-preview.2.20155.2
- 5.0.0-preview.2.20155.2
+ 5.0.0-preview.3.20156.3
+ 5.0.0-preview.3.20156.3
+ 5.0.0-preview.3.20156.3
+ 5.0.0-preview.3.20156.3
+ 5.0.0-preview.3.20156.3
+ 5.0.0-preview.3.20156.3
+ 5.0.0-preview.3.20156.3
- 5.0.0-preview.2.20155.8
- 5.0.0-preview.2.20155.8
- 5.0.0-preview.2.20155.8
- 5.0.0-preview.2.20155.8
+ 5.0.0-preview.3.20156.7
+ 5.0.0-preview.3.20156.7
+ 5.0.0-preview.3.20156.7
+ 5.0.0-preview.3.20156.7
diff --git a/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs b/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs
index 26b146843b..b0595d4545 100644
--- a/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs
+++ b/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs
@@ -225,7 +225,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests
await StartStreamAsync(1, _browserRequestHeaders, endStream: true);
await ExpectAsync(Http2FrameType.HEADERS,
- withLength: 37,
+ withLength: 33,
withFlags: (byte)Http2HeadersFrameFlags.END_HEADERS,
withStreamId: 1);
await ExpectAsync(Http2FrameType.DATA,
diff --git a/src/Servers/Kestrel/test/InMemory.FunctionalTests/HttpsTests.cs b/src/Servers/Kestrel/test/InMemory.FunctionalTests/HttpsTests.cs
index 04c77b6d9c..c9ef2f32e8 100644
--- a/src/Servers/Kestrel/test/InMemory.FunctionalTests/HttpsTests.cs
+++ b/src/Servers/Kestrel/test/InMemory.FunctionalTests/HttpsTests.cs
@@ -143,6 +143,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.InMemory.FunctionalTests
}
[Fact]
+ [QuarantinedTest]
public async Task ClientHandshakeFailureLoggedAsDebug()
{
var loggerProvider = new HandshakeErrorLoggerProvider();
diff --git a/src/Shared/E2ETesting/E2ETesting.props b/src/Shared/E2ETesting/E2ETesting.props
index 64e74c095e..0e6552e7ec 100644
--- a/src/Shared/E2ETesting/E2ETesting.props
+++ b/src/Shared/E2ETesting/E2ETesting.props
@@ -4,7 +4,7 @@
$(DefaultItemExcludes);node_modules\**
$([MSBuild]::NormalizeDirectory('$(ArtifactsTestResultsDir)','$(MSBuildProjectName)'))
$([MSBuild]::EnsureTrailingSlash('$(RepoRoot)'))artifacts\tmp\selenium\
- true
+ true
$([MSBuild]::NormalizePath($(MSBuildThisFileDirectory)selenium-config.json))
diff --git a/src/Shared/runtime/ReadMe.SharedCode.md b/src/Shared/runtime/ReadMe.SharedCode.md
index dcb4cc4f0e..f24980b8a2 100644
--- a/src/Shared/runtime/ReadMe.SharedCode.md
+++ b/src/Shared/runtime/ReadMe.SharedCode.md
@@ -28,8 +28,8 @@ dotnet/AspNetCore code paths:
- Run restore in the root once: `PS D:\github\AspNetCore> .\restore.cmd`
- Activate to use the repo local runtime: `PS D:\github\AspNetCore> . .\activate.ps1`
- Build the individual projects:
-- `(AspNetCore) PS D:\github\AspNetCore\src\Shared\test\Shared.Tests> dotnet msbuild`
-- `(AspNetCore) PS D:\github\AspNetCore\src\servers\Kestrel\core\src> dotnet msbuild`
+- `(AspNetCore) PS D:\github\AspNetCore\src\Shared\test\Shared.Tests> dotnet build`
+- `(AspNetCore) PS D:\github\AspNetCore\src\servers\Kestrel\core\src> dotnet build`
### Running dotnet/AspNetCore tests:
- `(AspNetCore) PS D:\github\AspNetCore\src\Shared\test\Shared.Tests> dotnet test`
diff --git a/src/SignalR/clients/csharp/Client.Core/src/HubConnection.cs b/src/SignalR/clients/csharp/Client.Core/src/HubConnection.cs
index acd21ef2c4..4d975d5d7e 100644
--- a/src/SignalR/clients/csharp/Client.Core/src/HubConnection.cs
+++ b/src/SignalR/clients/csharp/Client.Core/src/HubConnection.cs
@@ -1214,11 +1214,13 @@ namespace Microsoft.AspNetCore.SignalR.Client
finally
{
invocationMessageChannel.Writer.TryComplete();
- await invocationMessageReceiveTask;
timer.Stop();
await timerTask;
uploadStreamSource.Cancel();
await HandleConnectionClose(connectionState);
+
+ // await after the connection has been closed, otherwise could deadlock on a user's .On callback(s)
+ await invocationMessageReceiveTask;
}
}
diff --git a/src/SignalR/clients/csharp/Client/test/UnitTests/HubConnectionTests.cs b/src/SignalR/clients/csharp/Client/test/UnitTests/HubConnectionTests.cs
index b303e71ddd..e2b18c9857 100644
--- a/src/SignalR/clients/csharp/Client/test/UnitTests/HubConnectionTests.cs
+++ b/src/SignalR/clients/csharp/Client/test/UnitTests/HubConnectionTests.cs
@@ -345,7 +345,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
var complete = await connection.ReadSentJsonAsync().OrTimeout();
Assert.Equal(HubProtocolConstants.CompletionMessageType, complete["type"]);
Assert.EndsWith("canceled by client.", ((string)complete["error"]));
- }
+ }
}
[Fact]
@@ -414,6 +414,59 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
}
}
+ [Fact]
+ public async Task CanAwaitInvokeFromOnHandlerWithServerClosingConnection()
+ {
+ using (StartVerifiableLog())
+ {
+ var connection = new TestConnection();
+ var hubConnection = CreateHubConnection(connection, loggerFactory: LoggerFactory);
+ await hubConnection.StartAsync().OrTimeout();
+
+ var tcs = new TaskCompletionSource