diff --git a/.azure/pipelines/helix-test.yml b/.azure/pipelines/helix-test.yml
index 4a7b845a2d..ed10e8fc2c 100644
--- a/.azure/pipelines/helix-test.yml
+++ b/.azure/pipelines/helix-test.yml
@@ -10,8 +10,8 @@ pr:
jobs:
- template: jobs/default-build.yml
parameters:
- jobName: Helix
- jobDisplayName: 'Tests: Helix'
+ jobName: Helix_x64
+ jobDisplayName: 'Tests: Helix x64'
agentOs: Windows
timeoutInMinutes: 240
steps:
@@ -25,3 +25,23 @@ jobs:
- name: Helix_logs
path: artifacts/log/
publishOnError: true
+
+# Build Helix ARM64
+- template: jobs/default-build.yml
+ parameters:
+ jobName: Helix_arm64
+ jobDisplayName: "Tests: Helix ARM64"
+ agentOs: Linux
+ timeoutInMinutes: 240
+ steps:
+ - script: ./restore.sh -ci
+ displayName: Restore
+ - script: ./build.sh -ci --arch arm64 -test --no-build-nodejs -projects $(Build.SourcesDirectory)/eng/helix/helix.proj /p:IsHelixJob=true /p:BuildAllProjects=true /p:BuildNative=true -bl
+ displayName: Run build.sh helix arm64 target
+ env:
+ SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
+ installNodeJs: false
+ artifacts:
+ - name: Helix_arm64_logs
+ path: artifacts/logs/
+ publishOnError: true
diff --git a/eng/helix/content/installnode.sh b/eng/helix/content/installnode.sh
index 5a72cca423..0442958ac2 100644
--- a/eng/helix/content/installnode.sh
+++ b/eng/helix/content/installnode.sh
@@ -9,16 +9,18 @@ if type -P "node" &>/dev/null; then
fi
node_version=$1
+arch=$2
osname=`uname -s`
-echo $osname
if [ "$osname" = "Darwin" ]; then
- platformarch='darwin-x64'
+ platformarch="darwin-$arch"
else
- platformarch='linux-x64'
+ platformarch="linux-$arch"
fi
+echo "PlatformArch: $platformarch"
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
output_dir="$DIR/node"
url="http://nodejs.org/dist/v$node_version/node-v$node_version-$platformarch.tar.gz"
+echo "Downloading from: $url"
tmp="$(mktemp -d -t install-node.XXXXXX)"
trap "rm -rf $tmp" EXIT
cd "$tmp"
diff --git a/eng/helix/content/runtests.cmd b/eng/helix/content/runtests.cmd
index 8344fe5a66..935b23647d 100644
--- a/eng/helix/content/runtests.cmd
+++ b/eng/helix/content/runtests.cmd
@@ -7,17 +7,18 @@ set targetFrameworkIdentifier=%2
set sdkVersion=%3
set runtimeVersion=%4
set helixQueue=%5
+set arch=%6
set DOTNET_HOME=%HELIX_CORRELATION_PAYLOAD%\sdk
-set DOTNET_ROOT=%DOTNET_HOME%\x64
+set DOTNET_ROOT=%DOTNET_HOME%\%arch%
set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
set DOTNET_MULTILEVEL_LOOKUP=0
set DOTNET_CLI_HOME=%HELIX_CORRELATION_PAYLOAD%\home
set PATH=%DOTNET_ROOT%;%PATH%;%HELIX_CORRELATION_PAYLOAD%\node\bin
-powershell.exe -NoProfile -ExecutionPolicy unrestricted -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; &([scriptblock]::Create((Invoke-WebRequest -useb 'https://dot.net/v1/dotnet-install.ps1'))) -Architecture x64 -Version %sdkVersion% -InstallDir %DOTNET_ROOT%"
-powershell.exe -NoProfile -ExecutionPolicy unrestricted -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; &([scriptblock]::Create((Invoke-WebRequest -useb 'https://dot.net/v1/dotnet-install.ps1'))) -Architecture x64 -Runtime dotnet -Version %runtimeVersion% -InstallDir %DOTNET_ROOT%"
+powershell.exe -NoProfile -ExecutionPolicy unrestricted -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; &([scriptblock]::Create((Invoke-WebRequest -useb 'https://dot.net/v1/dotnet-install.ps1'))) -Architecture %arch% -Version %sdkVersion% -InstallDir %DOTNET_ROOT%"
+powershell.exe -NoProfile -ExecutionPolicy unrestricted -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; &([scriptblock]::Create((Invoke-WebRequest -useb 'https://dot.net/v1/dotnet-install.ps1'))) -Architecture %arch% -Runtime dotnet -Version %runtimeVersion% -InstallDir %DOTNET_ROOT%"
set HELIX=%helixQueue%
diff --git a/eng/helix/helix.proj b/eng/helix/helix.proj
index cc0013e68c..105134743c 100644
--- a/eng/helix/helix.proj
+++ b/eng/helix/helix.proj
@@ -27,7 +27,7 @@
ci
aspnetcore
- $(BUILD_BUILDNUMBER).$(SYSTEM_JOBATTEMPT)
+ $(BUILD_BUILDNUMBER).$(TargetArchitecture).$(SYSTEM_JOBATTEMPT)
true
true
true
diff --git a/eng/targets/Helix.Common.props b/eng/targets/Helix.Common.props
index 3dc2db3ef0..a8e3e70ac4 100644
--- a/eng/targets/Helix.Common.props
+++ b/eng/targets/Helix.Common.props
@@ -10,7 +10,10 @@
-
+
+
+
+
@@ -23,8 +26,16 @@
-
-
+
+
+
+
+
+
+
diff --git a/eng/targets/Helix.props b/eng/targets/Helix.props
index c6b1b68cd2..0c0357ecdf 100644
--- a/eng/targets/Helix.props
+++ b/eng/targets/Helix.props
@@ -37,7 +37,7 @@
-
+
diff --git a/eng/targets/Helix.targets b/eng/targets/Helix.targets
index 9322dab239..d3a45dfa45 100644
--- a/eng/targets/Helix.targets
+++ b/eng/targets/Helix.targets
@@ -49,8 +49,8 @@ Usage: dotnet msbuild /t:Helix src/MyTestProject.csproj
false
+ false
-
@@ -78,8 +78,8 @@ Usage: dotnet msbuild /t:Helix src/MyTestProject.csproj
$(TargetFileName)
@(HelixPreCommand)
@(HelixPostCommand)
- call runtests.cmd $(TargetFileName) $(TargetFrameworkIdentifier) $(NETCoreSdkVersion) $(MicrosoftNETCoreAppRuntimeVersion) $(_HelixFriendlyNameTargetQueue)
- ./runtests.sh $(TargetFileName) $(NETCoreSdkVersion) $(MicrosoftNETCoreAppRuntimeVersion) $(_HelixFriendlyNameTargetQueue)
+ call runtests.cmd $(TargetFileName) $(TargetFrameworkIdentifier) $(NETCoreSdkVersion) $(MicrosoftNETCoreAppRuntimeVersion) $(_HelixFriendlyNameTargetQueue) $(TargetArchitecture)
+ ./runtests.sh $(TargetFileName) $(NETCoreSdkVersion) $(MicrosoftNETCoreAppRuntimeVersion) $(_HelixFriendlyNameTargetQueue) $(TargetArchitecture)
$(HelixTimeout)
diff --git a/src/Azure/AzureAD/test/FunctionalTests/Microsoft.AspNetCore.Authentication.AzureAD.FunctionalTests.csproj b/src/Azure/AzureAD/test/FunctionalTests/Microsoft.AspNetCore.Authentication.AzureAD.FunctionalTests.csproj
index a1dc024b4a..b13ff3e5f8 100644
--- a/src/Azure/AzureAD/test/FunctionalTests/Microsoft.AspNetCore.Authentication.AzureAD.FunctionalTests.csproj
+++ b/src/Azure/AzureAD/test/FunctionalTests/Microsoft.AspNetCore.Authentication.AzureAD.FunctionalTests.csproj
@@ -2,6 +2,8 @@
netcoreapp3.0
+
+ true
diff --git a/src/Identity/test/Identity.FunctionalTests/Microsoft.AspNetCore.Identity.FunctionalTests.csproj b/src/Identity/test/Identity.FunctionalTests/Microsoft.AspNetCore.Identity.FunctionalTests.csproj
index b3ab76bd7d..379ee6603a 100644
--- a/src/Identity/test/Identity.FunctionalTests/Microsoft.AspNetCore.Identity.FunctionalTests.csproj
+++ b/src/Identity/test/Identity.FunctionalTests/Microsoft.AspNetCore.Identity.FunctionalTests.csproj
@@ -2,9 +2,12 @@
netcoreapp3.0
-
+
+ true
+
+
@@ -46,7 +49,7 @@
File="$(PublishDir)\contentroot.sln"
Lines="Ignored"
Overwrite="true"
- Encoding="Unicode"/>
+ Encoding="Unicode" />
diff --git a/src/Security/test/AuthSamples.FunctionalTests/AuthSamples.FunctionalTests.csproj b/src/Security/test/AuthSamples.FunctionalTests/AuthSamples.FunctionalTests.csproj
index 20035ab691..a0055c58bc 100644
--- a/src/Security/test/AuthSamples.FunctionalTests/AuthSamples.FunctionalTests.csproj
+++ b/src/Security/test/AuthSamples.FunctionalTests/AuthSamples.FunctionalTests.csproj
@@ -4,6 +4,8 @@
netcoreapp3.0
false
AnyCPU
+
+ true
@@ -52,7 +54,7 @@
DestinationFolder="$(PublishDir)\ClaimsTransformation\wwwroot" />
+ DestinationFolder="$(PublishDir)\Cookies\wwwroot" />
@@ -68,12 +70,13 @@
+
+ Encoding="Unicode" />