From 6dc65b16730abb9cba59e759012211e576f99188 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Sun, 30 Jun 2019 01:04:53 -0700 Subject: [PATCH] [Helix] run on arm queues (#11422) --- .azure/pipelines/helix-test.yml | 24 +++++++++++++++++-- eng/helix/content/installnode.sh | 8 ++++--- eng/helix/content/runtests.cmd | 7 +++--- eng/helix/helix.proj | 2 +- eng/targets/Helix.Common.props | 17 ++++++++++--- eng/targets/Helix.props | 2 +- eng/targets/Helix.targets | 6 ++--- ...hentication.AzureAD.FunctionalTests.csproj | 2 ++ ...AspNetCore.Identity.FunctionalTests.csproj | 7 ++++-- .../AuthSamples.FunctionalTests.csproj | 7 ++++-- 10 files changed, 62 insertions(+), 20 deletions(-) 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" />