From f905c18f1d80c8781ddc03b1423bde960f4ef8ca Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Fri, 24 Jul 2020 09:17:27 -0700 Subject: [PATCH 01/27] Revert "Revert "Try using helix sdk support directly again (#23585)" (#24250)" This reverts commit d9049eca9ced2ea65e21c137ccbff38c51351062. --- eng/helix/content/InstallDotNet.ps1 | 13 ++------ eng/helix/content/RunTests/RunTestsOptions.cs | 7 ---- eng/helix/content/runtests.cmd | 33 ++++++++++--------- eng/helix/content/runtests.sh | 26 ++++----------- eng/helix/helix.proj | 5 +-- eng/targets/Helix.targets | 4 +-- 6 files changed, 32 insertions(+), 56 deletions(-) diff --git a/eng/helix/content/InstallDotNet.ps1 b/eng/helix/content/InstallDotNet.ps1 index 7e8786643355..080a14bd7d51 100644 --- a/eng/helix/content/InstallDotNet.ps1 +++ b/eng/helix/content/InstallDotNet.ps1 @@ -1,12 +1,10 @@ <# .SYNOPSIS - Installs dotnet sdk and runtime using https://dot.net/v1/dotnet-install.ps1 + Installs dotnet runtime using https://dot.net/v1/dotnet-install.ps1 .DESCRIPTION - Installs dotnet sdk and runtime using https://dot.net/v1/dotnet-install.ps1 + Installs dotnet runtime using https://dot.net/v1/dotnet-install.ps1 .PARAMETER arch The architecture to install. -.PARAMETER sdkVersion - The sdk version to install .PARAMETER runtimeVersion The runtime version to install .PARAMETER installDir @@ -16,9 +14,6 @@ param( [Parameter(Mandatory = $true)] $arch, - [Parameter(Mandatory = $true)] - $sdkVersion, - [Parameter(Mandatory = $true)] $runtimeVersion, @@ -28,8 +23,6 @@ param( & $PSScriptRoot\Download.ps1 "https://dot.net/v1/dotnet-install.ps1" $PSScriptRoot\dotnet-install.ps1 Write-Host "Download of dotnet-install.ps1 complete..." -Write-Host "Installing SDK...& $PSScriptRoot\dotnet-install.ps1 -Architecture $arch -Version $sdkVersion -InstallDir $installDir" -Invoke-Expression "& $PSScriptRoot\dotnet-install.ps1 -Architecture $arch -Version $sdkVersion -InstallDir $installDir" Write-Host "Installing Runtime...& $PSScriptRoot\dotnet-install.ps1 -Architecture $arch -Runtime dotnet -Version $runtimeVersion -InstallDir $installDir" Invoke-Expression "& $PSScriptRoot\dotnet-install.ps1 -Architecture $arch -Runtime dotnet -Version $runtimeVersion -InstallDir $installDir" -Write-Host "InstallDotNet.ps1 complete..." \ No newline at end of file +Write-Host "InstallDotNet.ps1 complete..." diff --git a/eng/helix/content/RunTests/RunTestsOptions.cs b/eng/helix/content/RunTests/RunTestsOptions.cs index 9e076c970137..e62adef6d501 100644 --- a/eng/helix/content/RunTests/RunTestsOptions.cs +++ b/eng/helix/content/RunTests/RunTestsOptions.cs @@ -21,11 +21,6 @@ public static RunTestsOptions Parse(string[] args) description: "The test dll to run") { Argument = new Argument(), Required = true }, - new Option( - aliases: new string[] { "--sdk" }, - description: "The version of the sdk being used") - { Argument = new Argument(), Required = true }, - new Option( aliases: new string[] { "--runtime" }, description: "The version of the runtime being used") @@ -70,7 +65,6 @@ public static RunTestsOptions Parse(string[] args) var parseResult = command.Parse(args); var options = new RunTestsOptions(); options.Target = parseResult.ValueForOption("--target"); - options.SdkVersion = parseResult.ValueForOption("--sdk"); options.RuntimeVersion = parseResult.ValueForOption("--runtime"); options.HelixQueue = parseResult.ValueForOption("--queue"); options.Architecture = parseResult.ValueForOption("--arch"); @@ -86,7 +80,6 @@ public static RunTestsOptions Parse(string[] args) } public string Target { get; set;} - public string SdkVersion { get; set;} public string RuntimeVersion { get; set;} public string AspNetRuntime { get; set;} public string AspNetRef { get; set;} diff --git a/eng/helix/content/runtests.cmd b/eng/helix/content/runtests.cmd index c1b27b1c890c..4b3c4dfea6d6 100644 --- a/eng/helix/content/runtests.cmd +++ b/eng/helix/content/runtests.cmd @@ -4,35 +4,36 @@ setlocal enabledelayedexpansion REM Use '$' as a variable name prefix to avoid MSBuild variable collisions with these variables set $target=%1 -set $sdkVersion=%2 -set $runtimeVersion=%3 -set $queue=%4 -set $arch=%5 -set $quarantined=%6 -set $ef=%7 -set $aspnetruntime=%8 -set $aspnetref=%9 -REM Batch only supports up to 9 arguments using the %# syntax, need to shift to get more -shift +set $runtimeVersion=%2 +set $queue=%3 +set $arch=%4 +set $quarantined=%5 +set $ef=%6 +set $aspnetruntime=%7 +set $aspnetref=%8 set $helixTimeout=%9 +REM Batch only supports up to 9 arguments using the %# syntax, need to shift to get more -set DOTNET_HOME=%HELIX_CORRELATION_PAYLOAD%\sdk -set DOTNET_ROOT=%DOTNET_HOME%\%$arch% +set DOTNET_ROOT=%HELIX_CORRELATION_PAYLOAD%\dotnet +set DOTNET_HOME=%DOTNET_ROOT% 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 echo Set path to: %PATH% -echo "Invoking InstallDotNet.ps1 %$arch% %$sdkVersion% %$runtimeVersion% %DOTNET_ROOT%" -powershell.exe -NoProfile -ExecutionPolicy unrestricted -file InstallDotNet.ps1 %$arch% %$sdkVersion% %$runtimeVersion% %DOTNET_ROOT% +echo "Invoking InstallDotNet.ps1 %$arch% %$runtimeVersion% %DOTNET_ROOT%" +powershell.exe -NoProfile -ExecutionPolicy unrestricted -file InstallDotNet.ps1 %$arch% %$runtimeVersion% %DOTNET_ROOT% + +dotnet --list-sdks +dotnet --list-runtimes set exit_code=0 echo "Restore: dotnet restore RunTests\RunTests.csproj --source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json --source https://api.nuget.org/v3/index.json --ignore-failed-sources..." dotnet restore RunTests\RunTests.csproj --source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json --source https://api.nuget.org/v3/index.json --ignore-failed-sources -echo "Running tests: dotnet run --project RunTests\RunTests.csproj -- --target %$target% --sdk %$sdkVersion% --runtime %$runtimeVersion% --queue %$queue% --arch %$arch% --quarantined %$quarantined% --ef %$ef% --aspnetruntime %$aspnetruntime% --aspnetref %$aspnetref% --helixTimeout %$helixTimeout%..." -dotnet run --project RunTests\RunTests.csproj -- --target %$target% --sdk %$sdkVersion% --runtime %$runtimeVersion% --queue %$queue% --arch %$arch% --quarantined %$quarantined% --ef %$ef% --aspnetruntime %$aspnetruntime% --aspnetref %$aspnetref% --helixTimeout %$helixTimeout% +echo "Running tests: dotnet run --project RunTests\RunTests.csproj -- --target %$target% --runtime %$runtimeVersion% --queue %$queue% --arch %$arch% --quarantined %$quarantined% --ef %$ef% --aspnetruntime %$aspnetruntime% --aspnetref %$aspnetref% --helixTimeout %$helixTimeout%..." +dotnet run --project RunTests\RunTests.csproj -- --target %$target% --runtime %$runtimeVersion% --queue %$queue% --arch %$arch% --quarantined %$quarantined% --ef %$ef% --aspnetruntime %$aspnetruntime% --aspnetref %$aspnetref% --helixTimeout %$helixTimeout% if errorlevel neq 0 ( set exit_code=%errorlevel% ) diff --git a/eng/helix/content/runtests.sh b/eng/helix/content/runtests.sh index a1bf93270604..583514535f1a 100644 --- a/eng/helix/content/runtests.sh +++ b/eng/helix/content/runtests.sh @@ -1,7 +1,6 @@ #!/usr/bin/env bash -dotnet_sdk_version="$2" -dotnet_runtime_version="$3" +dotnet_runtime_version="$2" RESET="\033[0m" RED="\033[0;31m" @@ -11,7 +10,7 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Ensures every invocation of dotnet apps uses the same dotnet.exe # Add $random to path to ensure tests don't expect dotnet to be in a particular path -export DOTNET_ROOT="$DIR/.dotnet$RANDOM" +export DOTNET_ROOT="$HELIX_CORRELATION_PAYLOAD/dotnet" # Ensure dotnet comes first on PATH export PATH="$DOTNET_ROOT:$PATH:$DIR/node/bin" @@ -47,20 +46,6 @@ fi # Call "sync" between "chmod" and execution to prevent "text file busy" error in Docker (aufs) chmod +x "dotnet-install.sh"; sync -./dotnet-install.sh --version $dotnet_sdk_version --install-dir "$DOTNET_ROOT" -if [ $? -ne 0 ]; then - sdk_retries=3 - while [ $sdk_retries -gt 0 ]; do - ./dotnet-install.sh --version $dotnet_sdk_version --install-dir "$DOTNET_ROOT" - if [ $? -ne 0 ]; then - let sdk_retries=sdk_retries-1 - echo -e "${YELLOW}Failed to install .NET Core SDK $version. Retries left: $sdk_retries.${RESET}" - else - sdk_retries=0 - fi - done -fi - ./dotnet-install.sh --runtime dotnet --version $dotnet_runtime_version --install-dir "$DOTNET_ROOT" if [ $? -ne 0 ]; then runtime_retries=3 @@ -85,11 +70,14 @@ fi # dontet-install.sh seems to affect the Linux filesystem and causes test flakiness unless we sync the filesystem before running tests sync +$DOTNET_ROOT/dotnet --list-sdks +$DOTNET_ROOT/dotnet --list-runtimes + exit_code=0 echo "Restore: $DOTNET_ROOT/dotnet restore RunTests/RunTests.csproj --source https://api.nuget.org/v3/index.json --ignore-failed-sources..." $DOTNET_ROOT/dotnet restore RunTests/RunTests.csproj --source https://api.nuget.org/v3/index.json --ignore-failed-sources -echo "Running tests: $DOTNET_ROOT/dotnet run --project RunTests/RunTests.csproj -- --target $1 --sdk $2 --runtime $3 --queue $4 --arch $5 --quarantined $6 --ef $7 --aspnetruntime $8 --aspnetref $9 --helixTimeout ${10}..." -$DOTNET_ROOT/dotnet run --project RunTests/RunTests.csproj -- --target $1 --sdk $2 --runtime $3 --queue $4 --arch $5 --quarantined $6 --ef $7 --aspnetruntime $8 --aspnetref $9 --helixTimeout ${10} +echo "Running tests: $DOTNET_ROOT/dotnet run --project RunTests/RunTests.csproj -- --target $1 --runtime $2 --queue $3 --arch $4 --quarantined $5 --ef $6 --aspnetruntime $7 --aspnetref $8 --helixTimeout $9..." +$DOTNET_ROOT/dotnet run --project RunTests/RunTests.csproj -- --target $1 --runtime $2 --queue $3 --arch $4 --quarantined $5 --ef $6 --aspnetruntime $7 --aspnetref $8 --helixTimeout $9 exit_code=$? echo "Finished tests...exit_code=$exit_code" diff --git a/eng/helix/helix.proj b/eng/helix/helix.proj index 250b2fb9b2c8..3a179a8866b7 100644 --- a/eng/helix/helix.proj +++ b/eng/helix/helix.proj @@ -1,5 +1,4 @@ - bin\ $(BaseOutputPath)$(Configuration)\ diff --git a/eng/targets/Helix.targets b/eng/targets/Helix.targets index 0743963a02a9..ad7b35da23b8 100644 --- a/eng/targets/Helix.targets +++ b/eng/targets/Helix.targets @@ -117,8 +117,8 @@ Usage: dotnet msbuild /t:Helix src/MyTestProject.csproj $(TargetFileName) @(HelixPreCommand) @(HelixPostCommand) - call runtests.cmd $(TargetFileName) $(NETCoreSdkVersion) $(MicrosoftNETCoreAppRuntimeVersion) $(_HelixFriendlyNameTargetQueue) $(TargetArchitecture) $(RunQuarantinedTests) $(DotnetEfPackageVersion) Microsoft.AspNetCore.App.Runtime.win-x64.$(AppRuntimeVersion).nupkg Microsoft.AspNetCore.App.Ref.$(AppRuntimeVersion).nupkg $(HelixTimeout) - ./runtests.sh $(TargetFileName) $(NETCoreSdkVersion) $(MicrosoftNETCoreAppRuntimeVersion) $(_HelixFriendlyNameTargetQueue) $(TargetArchitecture) $(RunQuarantinedTests) $(DotnetEfPackageVersion) Microsoft.AspNetCore.App.Runtime.win-x64.$(AppRuntimeVersion).nupkg Microsoft.AspNetCore.App.Ref.$(AppRuntimeVersion).nupkg $(HelixTimeout) + call runtests.cmd $(TargetFileName) $(MicrosoftNETCoreAppRuntimeVersion) $(_HelixFriendlyNameTargetQueue) $(TargetArchitecture) $(RunQuarantinedTests) $(DotnetEfPackageVersion) Microsoft.AspNetCore.App.Runtime.win-x64.$(AppRuntimeVersion).nupkg Microsoft.AspNetCore.App.Ref.$(AppRuntimeVersion).nupkg $(HelixTimeout) + ./runtests.sh $(TargetFileName) $(MicrosoftNETCoreAppRuntimeVersion) $(_HelixFriendlyNameTargetQueue) $(TargetArchitecture) $(RunQuarantinedTests) $(DotnetEfPackageVersion) Microsoft.AspNetCore.App.Runtime.win-x64.$(AppRuntimeVersion).nupkg Microsoft.AspNetCore.App.Ref.$(AppRuntimeVersion).nupkg $(HelixTimeout) $(HelixCommand) $(HelixTimeout) From 68f4fa35655cb8b0e53ffc41b68671676a8915de Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Fri, 24 Jul 2020 09:21:39 -0700 Subject: [PATCH 02/27] Enable helix-matrix on pr --- .azure/pipelines/helix-matrix.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.azure/pipelines/helix-matrix.yml b/.azure/pipelines/helix-matrix.yml index 5210cce65c4b..c6bc2dd1032a 100644 --- a/.azure/pipelines/helix-matrix.yml +++ b/.azure/pipelines/helix-matrix.yml @@ -1,5 +1,9 @@ # We only want to run full helix matrix on master -pr: none +pr: + autoCancel: true + branches: + include: + - 'haok/h2' trigger: none schedules: - cron: "0 */12 * * *" From 0fa13e5d1cb6a33d0a9abc5a2edbb346f549261a Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Fri, 24 Jul 2020 09:21:55 -0700 Subject: [PATCH 03/27] Try installing runtime to local directory --- eng/helix/content/runtests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/helix/content/runtests.sh b/eng/helix/content/runtests.sh index 583514535f1a..1258aa1ac64b 100644 --- a/eng/helix/content/runtests.sh +++ b/eng/helix/content/runtests.sh @@ -10,7 +10,7 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Ensures every invocation of dotnet apps uses the same dotnet.exe # Add $random to path to ensure tests don't expect dotnet to be in a particular path -export DOTNET_ROOT="$HELIX_CORRELATION_PAYLOAD/dotnet" +export DOTNET_ROOT="$DIR/.dotnet$RANDOM" # Ensure dotnet comes first on PATH export PATH="$DOTNET_ROOT:$PATH:$DIR/node/bin" From 6635bf3cd758ca38a79583066bd45d42c490daa1 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Fri, 24 Jul 2020 11:50:55 -0700 Subject: [PATCH 04/27] Update helix-matrix.yml --- .azure/pipelines/helix-matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.azure/pipelines/helix-matrix.yml b/.azure/pipelines/helix-matrix.yml index c6bc2dd1032a..5d03337ead6c 100644 --- a/.azure/pipelines/helix-matrix.yml +++ b/.azure/pipelines/helix-matrix.yml @@ -3,7 +3,7 @@ pr: autoCancel: true branches: include: - - 'haok/h2' + - '*' trigger: none schedules: - cron: "0 */12 * * *" From 46095396bf983b40a5625c655cf4ebe3252ea1c4 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Fri, 24 Jul 2020 11:52:52 -0700 Subject: [PATCH 05/27] Use sdk path for runtests.sh --- eng/helix/content/runtests.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/eng/helix/content/runtests.sh b/eng/helix/content/runtests.sh index 1258aa1ac64b..f7aa3a988cbf 100644 --- a/eng/helix/content/runtests.sh +++ b/eng/helix/content/runtests.sh @@ -70,14 +70,14 @@ fi # dontet-install.sh seems to affect the Linux filesystem and causes test flakiness unless we sync the filesystem before running tests sync -$DOTNET_ROOT/dotnet --list-sdks -$DOTNET_ROOT/dotnet --list-runtimes +$HELIX_CORRELATION_PAYLOAD/dotnet/dotnet --list-sdks +$HELIX_CORRELATION_PAYLOAD/dotnet/dotnet --list-runtimes exit_code=0 -echo "Restore: $DOTNET_ROOT/dotnet restore RunTests/RunTests.csproj --source https://api.nuget.org/v3/index.json --ignore-failed-sources..." -$DOTNET_ROOT/dotnet restore RunTests/RunTests.csproj --source https://api.nuget.org/v3/index.json --ignore-failed-sources -echo "Running tests: $DOTNET_ROOT/dotnet run --project RunTests/RunTests.csproj -- --target $1 --runtime $2 --queue $3 --arch $4 --quarantined $5 --ef $6 --aspnetruntime $7 --aspnetref $8 --helixTimeout $9..." -$DOTNET_ROOT/dotnet run --project RunTests/RunTests.csproj -- --target $1 --runtime $2 --queue $3 --arch $4 --quarantined $5 --ef $6 --aspnetruntime $7 --aspnetref $8 --helixTimeout $9 +echo "Restore: $HELIX_CORRELATION_PAYLOAD/dotnet/dotnet restore RunTests/RunTests.csproj --source https://api.nuget.org/v3/index.json --ignore-failed-sources..." +$HELIX_CORRELATION_PAYLOAD/dotnet/dotnet restore RunTests/RunTests.csproj --source https://api.nuget.org/v3/index.json --ignore-failed-sources +echo "Running tests: $HELIX_CORRELATION_PAYLOAD/dotnet/dotnet run --project RunTests/RunTests.csproj -- --target $1 --runtime $2 --queue $3 --arch $4 --quarantined $5 --ef $6 --aspnetruntime $7 --aspnetref $8 --helixTimeout $9..." +$HELIX_CORRELATION_PAYLOAD/dotnet/dotnet run --project RunTests/RunTests.csproj -- --target $1 --runtime $2 --queue $3 --arch $4 --quarantined $5 --ef $6 --aspnetruntime $7 --aspnetref $8 --helixTimeout $9 exit_code=$? echo "Finished tests...exit_code=$exit_code" From 05b72686f8c4fe5ac981919178dd20e94304556f Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Fri, 24 Jul 2020 11:53:25 -0700 Subject: [PATCH 06/27] Update runtests.sh --- eng/helix/content/runtests.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/eng/helix/content/runtests.sh b/eng/helix/content/runtests.sh index f7aa3a988cbf..cb9186be2e65 100644 --- a/eng/helix/content/runtests.sh +++ b/eng/helix/content/runtests.sh @@ -70,14 +70,14 @@ fi # dontet-install.sh seems to affect the Linux filesystem and causes test flakiness unless we sync the filesystem before running tests sync -$HELIX_CORRELATION_PAYLOAD/dotnet/dotnet --list-sdks -$HELIX_CORRELATION_PAYLOAD/dotnet/dotnet --list-runtimes +$HELIX_CORRELATION_PAYLOAD/dotnet --list-sdks +$HELIX_CORRELATION_PAYLOAD/dotnet --list-runtimes exit_code=0 -echo "Restore: $HELIX_CORRELATION_PAYLOAD/dotnet/dotnet restore RunTests/RunTests.csproj --source https://api.nuget.org/v3/index.json --ignore-failed-sources..." -$HELIX_CORRELATION_PAYLOAD/dotnet/dotnet restore RunTests/RunTests.csproj --source https://api.nuget.org/v3/index.json --ignore-failed-sources -echo "Running tests: $HELIX_CORRELATION_PAYLOAD/dotnet/dotnet run --project RunTests/RunTests.csproj -- --target $1 --runtime $2 --queue $3 --arch $4 --quarantined $5 --ef $6 --aspnetruntime $7 --aspnetref $8 --helixTimeout $9..." -$HELIX_CORRELATION_PAYLOAD/dotnet/dotnet run --project RunTests/RunTests.csproj -- --target $1 --runtime $2 --queue $3 --arch $4 --quarantined $5 --ef $6 --aspnetruntime $7 --aspnetref $8 --helixTimeout $9 +echo "Restore: $HELIX_CORRELATION_PAYLOAD/dotnet restore RunTests/RunTests.csproj --source https://api.nuget.org/v3/index.json --ignore-failed-sources..." +$HELIX_CORRELATION_PAYLOAD/dotnet restore RunTests/RunTests.csproj --source https://api.nuget.org/v3/index.json --ignore-failed-sources +echo "Running tests: $HELIX_CORRELATION_PAYLOAD/dotnet run --project RunTests/RunTests.csproj -- --target $1 --runtime $2 --queue $3 --arch $4 --quarantined $5 --ef $6 --aspnetruntime $7 --aspnetref $8 --helixTimeout $9..." +$HELIX_CORRELATION_PAYLOAD/dotnet run --project RunTests/RunTests.csproj -- --target $1 --runtime $2 --queue $3 --arch $4 --quarantined $5 --ef $6 --aspnetruntime $7 --aspnetref $8 --helixTimeout $9 exit_code=$? echo "Finished tests...exit_code=$exit_code" From 1f1f00bc27f57a327315ffb604250f11bfe64a02 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Mon, 27 Jul 2020 02:47:14 -0700 Subject: [PATCH 07/27] Update runtests.sh --- eng/helix/content/runtests.sh | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/eng/helix/content/runtests.sh b/eng/helix/content/runtests.sh index cb9186be2e65..9e8d8ef67bac 100644 --- a/eng/helix/content/runtests.sh +++ b/eng/helix/content/runtests.sh @@ -70,14 +70,16 @@ fi # dontet-install.sh seems to affect the Linux filesystem and causes test flakiness unless we sync the filesystem before running tests sync -$HELIX_CORRELATION_PAYLOAD/dotnet --list-sdks -$HELIX_CORRELATION_PAYLOAD/dotnet --list-runtimes +sdkPath=$HELIX_CORRELATION_PAYLOAD/dotnet + +$sdkPath/dotnet --list-sdks +$sdkPath/dotnet --list-runtimes exit_code=0 -echo "Restore: $HELIX_CORRELATION_PAYLOAD/dotnet restore RunTests/RunTests.csproj --source https://api.nuget.org/v3/index.json --ignore-failed-sources..." -$HELIX_CORRELATION_PAYLOAD/dotnet restore RunTests/RunTests.csproj --source https://api.nuget.org/v3/index.json --ignore-failed-sources -echo "Running tests: $HELIX_CORRELATION_PAYLOAD/dotnet run --project RunTests/RunTests.csproj -- --target $1 --runtime $2 --queue $3 --arch $4 --quarantined $5 --ef $6 --aspnetruntime $7 --aspnetref $8 --helixTimeout $9..." -$HELIX_CORRELATION_PAYLOAD/dotnet run --project RunTests/RunTests.csproj -- --target $1 --runtime $2 --queue $3 --arch $4 --quarantined $5 --ef $6 --aspnetruntime $7 --aspnetref $8 --helixTimeout $9 +echo "Restore: $sdkPath/dotnet restore RunTests/RunTests.csproj --source https://api.nuget.org/v3/index.json --ignore-failed-sources..." +$sdkPath/dotnet restore RunTests/RunTests.csproj --source https://api.nuget.org/v3/index.json --ignore-failed-sources +echo "Running tests: $sdkPath/dotnet run --project RunTests/RunTests.csproj -- --target $1 --runtime $2 --queue $3 --arch $4 --quarantined $5 --ef $6 --aspnetruntime $7 --aspnetref $8 --helixTimeout $9..." +$sdkPath/dotnet run --project RunTests/RunTests.csproj -- --target $1 --runtime $2 --queue $3 --arch $4 --quarantined $5 --ef $6 --aspnetruntime $7 --aspnetref $8 --helixTimeout $9 exit_code=$? echo "Finished tests...exit_code=$exit_code" From e3aa0bf11403704e24853d0f45cd0469c4fcef9d Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Mon, 27 Jul 2020 02:53:29 -0700 Subject: [PATCH 08/27] Update runtests.sh --- eng/helix/content/runtests.sh | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/eng/helix/content/runtests.sh b/eng/helix/content/runtests.sh index 9e8d8ef67bac..1258aa1ac64b 100644 --- a/eng/helix/content/runtests.sh +++ b/eng/helix/content/runtests.sh @@ -70,16 +70,14 @@ fi # dontet-install.sh seems to affect the Linux filesystem and causes test flakiness unless we sync the filesystem before running tests sync -sdkPath=$HELIX_CORRELATION_PAYLOAD/dotnet - -$sdkPath/dotnet --list-sdks -$sdkPath/dotnet --list-runtimes +$DOTNET_ROOT/dotnet --list-sdks +$DOTNET_ROOT/dotnet --list-runtimes exit_code=0 -echo "Restore: $sdkPath/dotnet restore RunTests/RunTests.csproj --source https://api.nuget.org/v3/index.json --ignore-failed-sources..." -$sdkPath/dotnet restore RunTests/RunTests.csproj --source https://api.nuget.org/v3/index.json --ignore-failed-sources -echo "Running tests: $sdkPath/dotnet run --project RunTests/RunTests.csproj -- --target $1 --runtime $2 --queue $3 --arch $4 --quarantined $5 --ef $6 --aspnetruntime $7 --aspnetref $8 --helixTimeout $9..." -$sdkPath/dotnet run --project RunTests/RunTests.csproj -- --target $1 --runtime $2 --queue $3 --arch $4 --quarantined $5 --ef $6 --aspnetruntime $7 --aspnetref $8 --helixTimeout $9 +echo "Restore: $DOTNET_ROOT/dotnet restore RunTests/RunTests.csproj --source https://api.nuget.org/v3/index.json --ignore-failed-sources..." +$DOTNET_ROOT/dotnet restore RunTests/RunTests.csproj --source https://api.nuget.org/v3/index.json --ignore-failed-sources +echo "Running tests: $DOTNET_ROOT/dotnet run --project RunTests/RunTests.csproj -- --target $1 --runtime $2 --queue $3 --arch $4 --quarantined $5 --ef $6 --aspnetruntime $7 --aspnetref $8 --helixTimeout $9..." +$DOTNET_ROOT/dotnet run --project RunTests/RunTests.csproj -- --target $1 --runtime $2 --queue $3 --arch $4 --quarantined $5 --ef $6 --aspnetruntime $7 --aspnetref $8 --helixTimeout $9 exit_code=$? echo "Finished tests...exit_code=$exit_code" From feb0316c196e4c5d0df90ba6b71310ee17bf4e50 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Mon, 27 Jul 2020 02:53:32 -0700 Subject: [PATCH 09/27] Update runtests.cmd --- eng/helix/content/runtests.cmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/helix/content/runtests.cmd b/eng/helix/content/runtests.cmd index 4b3c4dfea6d6..c9027be78652 100644 --- a/eng/helix/content/runtests.cmd +++ b/eng/helix/content/runtests.cmd @@ -14,11 +14,11 @@ set $aspnetref=%8 set $helixTimeout=%9 REM Batch only supports up to 9 arguments using the %# syntax, need to shift to get more -set DOTNET_ROOT=%HELIX_CORRELATION_PAYLOAD%\dotnet +set DOTNET_ROOT=%HELIX_WORKITEM_ROOT%\dotnet set DOTNET_HOME=%DOTNET_ROOT% set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 set DOTNET_MULTILEVEL_LOOKUP=0 -set DOTNET_CLI_HOME=%HELIX_CORRELATION_PAYLOAD%\home +set DOTNET_CLI_HOME=%DOTNET_ROOT%\home set PATH=%DOTNET_ROOT%;!PATH!;%HELIX_CORRELATION_PAYLOAD%\node\bin echo Set path to: %PATH% From cf5a374627f8eb1a772a36df1340e6bf1b4cb73d Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Mon, 27 Jul 2020 03:42:57 -0700 Subject: [PATCH 10/27] xcopy sdk --- eng/helix/content/runtests.cmd | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/eng/helix/content/runtests.cmd b/eng/helix/content/runtests.cmd index c9027be78652..5c6212290f2d 100644 --- a/eng/helix/content/runtests.cmd +++ b/eng/helix/content/runtests.cmd @@ -22,6 +22,10 @@ set DOTNET_CLI_HOME=%DOTNET_ROOT%\home set PATH=%DOTNET_ROOT%;!PATH!;%HELIX_CORRELATION_PAYLOAD%\node\bin echo Set path to: %PATH% + +echo "xcopy /s /i %HELIX_CORRELATION_PAYLOAD%\dotnet %DOTNET_ROOT%" +xcopy /s /i %HELIX_CORRELATION_PAYLOAD%\dotnet %DOTNET_ROOT% + echo "Invoking InstallDotNet.ps1 %$arch% %$runtimeVersion% %DOTNET_ROOT%" powershell.exe -NoProfile -ExecutionPolicy unrestricted -file InstallDotNet.ps1 %$arch% %$runtimeVersion% %DOTNET_ROOT% From 35bdad32b5587cc8a70fc0ee2b8f597fbbb24d0c Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Mon, 27 Jul 2020 03:44:43 -0700 Subject: [PATCH 11/27] Update runtests.sh --- eng/helix/content/runtests.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eng/helix/content/runtests.sh b/eng/helix/content/runtests.sh index 1258aa1ac64b..ec5248cf3103 100644 --- a/eng/helix/content/runtests.sh +++ b/eng/helix/content/runtests.sh @@ -29,6 +29,9 @@ RED="\033[0;31m" YELLOW="\033[0;33m" MAGENTA="\033[0;95m" +echo "cp -R $HELIX_CORRELATION_PAYLOAD/dotnet $DOTNET_ROOT" +cp -R $HELIX_CORRELATION_PAYLOAD/dotnet $DOTNET_ROOT + curl -o dotnet-install.sh -sSL https://dot.net/v1/dotnet-install.sh if [ $? -ne 0 ]; then download_retries=3 From f61a2549c66d309daec0a5be98fc625595bfc127 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Mon, 27 Jul 2020 10:48:26 -0700 Subject: [PATCH 12/27] Add win arm64 queue selection --- eng/helix/helix.proj | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/eng/helix/helix.proj b/eng/helix/helix.proj index 3a179a8866b7..00efe0494185 100644 --- a/eng/helix/helix.proj +++ b/eng/helix/helix.proj @@ -30,6 +30,19 @@ $(BaseOutputPath)$(PlatformName)\$(Configuration)\ + + + + win-arm64 + + + + + win-arm + + + + ci From 837dcfeea69823cda495d9285d54b6e51116df12 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Mon, 27 Jul 2020 11:49:17 -0700 Subject: [PATCH 13/27] Update runtests.cmd --- eng/helix/content/runtests.cmd | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/eng/helix/content/runtests.cmd b/eng/helix/content/runtests.cmd index 5c6212290f2d..37eb5c0292ef 100644 --- a/eng/helix/content/runtests.cmd +++ b/eng/helix/content/runtests.cmd @@ -14,7 +14,7 @@ set $aspnetref=%8 set $helixTimeout=%9 REM Batch only supports up to 9 arguments using the %# syntax, need to shift to get more -set DOTNET_ROOT=%HELIX_WORKITEM_ROOT%\dotnet +set DOTNET_ROOT=%HELIX_CORRELATION_PAYLOAD%\sdk set DOTNET_HOME=%DOTNET_ROOT% set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 set DOTNET_MULTILEVEL_LOOKUP=0 @@ -23,9 +23,6 @@ set DOTNET_CLI_HOME=%DOTNET_ROOT%\home set PATH=%DOTNET_ROOT%;!PATH!;%HELIX_CORRELATION_PAYLOAD%\node\bin echo Set path to: %PATH% -echo "xcopy /s /i %HELIX_CORRELATION_PAYLOAD%\dotnet %DOTNET_ROOT%" -xcopy /s /i %HELIX_CORRELATION_PAYLOAD%\dotnet %DOTNET_ROOT% - echo "Invoking InstallDotNet.ps1 %$arch% %$runtimeVersion% %DOTNET_ROOT%" powershell.exe -NoProfile -ExecutionPolicy unrestricted -file InstallDotNet.ps1 %$arch% %$runtimeVersion% %DOTNET_ROOT% From 1861c56096d0ac4826b5e8b6968f7ccdfbfec4ae Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Mon, 27 Jul 2020 14:15:10 -0700 Subject: [PATCH 14/27] Update runtests.cmd --- eng/helix/content/runtests.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/helix/content/runtests.cmd b/eng/helix/content/runtests.cmd index 37eb5c0292ef..4948231b7827 100644 --- a/eng/helix/content/runtests.cmd +++ b/eng/helix/content/runtests.cmd @@ -14,7 +14,7 @@ set $aspnetref=%8 set $helixTimeout=%9 REM Batch only supports up to 9 arguments using the %# syntax, need to shift to get more -set DOTNET_ROOT=%HELIX_CORRELATION_PAYLOAD%\sdk +set DOTNET_ROOT=%HELIX_CORRELATION_PAYLOAD%\dotnet set DOTNET_HOME=%DOTNET_ROOT% set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 set DOTNET_MULTILEVEL_LOOKUP=0 From bd1377f1ff57c2df59bcc20706703244b9b24ee2 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Tue, 28 Jul 2020 09:33:54 -0700 Subject: [PATCH 15/27] Update runtests.cmd --- eng/helix/content/runtests.cmd | 1 + 1 file changed, 1 insertion(+) diff --git a/eng/helix/content/runtests.cmd b/eng/helix/content/runtests.cmd index 4948231b7827..9b0cd783d6ed 100644 --- a/eng/helix/content/runtests.cmd +++ b/eng/helix/content/runtests.cmd @@ -14,6 +14,7 @@ set $aspnetref=%8 set $helixTimeout=%9 REM Batch only supports up to 9 arguments using the %# syntax, need to shift to get more +REM Note: writing to the correlation payloads will not work on readonly docker queues (mostly an issue for the .sh version) set DOTNET_ROOT=%HELIX_CORRELATION_PAYLOAD%\dotnet set DOTNET_HOME=%DOTNET_ROOT% set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 From ced0001339afa5c5d3cf0abd05b98aa5840f4817 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Tue, 28 Jul 2020 09:35:38 -0700 Subject: [PATCH 16/27] Use $HELIX_WORKITEM_ROOT --- eng/helix/content/runtests.sh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/eng/helix/content/runtests.sh b/eng/helix/content/runtests.sh index ec5248cf3103..f7d1bf402b07 100644 --- a/eng/helix/content/runtests.sh +++ b/eng/helix/content/runtests.sh @@ -6,21 +6,20 @@ RESET="\033[0m" RED="\033[0;31m" YELLOW="\033[0;33m" MAGENTA="\033[0;95m" -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Ensures every invocation of dotnet apps uses the same dotnet.exe # Add $random to path to ensure tests don't expect dotnet to be in a particular path -export DOTNET_ROOT="$DIR/.dotnet$RANDOM" +export DOTNET_ROOT="$HELIX_WORKITEM_ROOT/.dotnet$RANDOM" # Ensure dotnet comes first on PATH -export PATH="$DOTNET_ROOT:$PATH:$DIR/node/bin" +export PATH="$DOTNET_ROOT:$PATH:$HELIX_WORKITEM_ROOT/node/bin" # Prevent fallback to global .NET locations. This ensures our tests use the shared frameworks we specify and don't rollforward to something else that might be installed on the machine export DOTNET_MULTILEVEL_LOOKUP=0 # Avoid contaminating userprofiles # Add $random to path to ensure tests don't expect home to be in a particular path -export DOTNET_CLI_HOME="$DIR/.home$RANDOM" +export DOTNET_CLI_HOME="$HELIX_WORKITEM_ROOT/.home$RANDOM" export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 From 320566ac12e7fe3c9cefba1738f6949f7d391984 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Mon, 10 Aug 2020 11:53:36 -0700 Subject: [PATCH 17/27] Symlink instead of copy sdk --- eng/helix/content/runtests.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/helix/content/runtests.sh b/eng/helix/content/runtests.sh index f7d1bf402b07..7afeb9097cf8 100644 --- a/eng/helix/content/runtests.sh +++ b/eng/helix/content/runtests.sh @@ -28,8 +28,8 @@ RED="\033[0;31m" YELLOW="\033[0;33m" MAGENTA="\033[0;95m" -echo "cp -R $HELIX_CORRELATION_PAYLOAD/dotnet $DOTNET_ROOT" -cp -R $HELIX_CORRELATION_PAYLOAD/dotnet $DOTNET_ROOT +echo "Symlink sdk: ln -s $HELIX_CORRELATION_PAYLOAD/dotnet $DOTNET_ROOT/dotnet" +ln -s $HELIX_CORRELATION_PAYLOAD/dotnet $DOTNET_ROOT/dotnet curl -o dotnet-install.sh -sSL https://dot.net/v1/dotnet-install.sh if [ $? -ne 0 ]; then From 61f677323a737097b19df095ca266c61dc2ab0f4 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Mon, 10 Aug 2020 13:15:37 -0700 Subject: [PATCH 18/27] Ensure dotnet_root dir exists --- eng/helix/content/runtests.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eng/helix/content/runtests.sh b/eng/helix/content/runtests.sh index 7afeb9097cf8..b53678e68453 100644 --- a/eng/helix/content/runtests.sh +++ b/eng/helix/content/runtests.sh @@ -28,6 +28,9 @@ RED="\033[0;31m" YELLOW="\033[0;33m" MAGENTA="\033[0;95m" +echo "Ensure $DOTNET_ROOT exists: mkdir -p $DOTNET_ROOT" +mkdir -p $DOTNET_ROOT + echo "Symlink sdk: ln -s $HELIX_CORRELATION_PAYLOAD/dotnet $DOTNET_ROOT/dotnet" ln -s $HELIX_CORRELATION_PAYLOAD/dotnet $DOTNET_ROOT/dotnet From 6e1e7ae6046732e817c2bb3a5d97574a29671dcc Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Mon, 10 Aug 2020 14:01:22 -0700 Subject: [PATCH 19/27] Update runtests.sh --- eng/helix/content/runtests.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/eng/helix/content/runtests.sh b/eng/helix/content/runtests.sh index b53678e68453..ac81c5103042 100644 --- a/eng/helix/content/runtests.sh +++ b/eng/helix/content/runtests.sh @@ -75,6 +75,8 @@ fi # dontet-install.sh seems to affect the Linux filesystem and causes test flakiness unless we sync the filesystem before running tests sync +-ls -la $DOTNET_ROOT + $DOTNET_ROOT/dotnet --list-sdks $DOTNET_ROOT/dotnet --list-runtimes From aa10af4c6bc9cc02260fcb518fe640f557480cfa Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Mon, 10 Aug 2020 14:01:33 -0700 Subject: [PATCH 20/27] Update runtests.sh --- eng/helix/content/runtests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/helix/content/runtests.sh b/eng/helix/content/runtests.sh index ac81c5103042..cd41d598fe3c 100644 --- a/eng/helix/content/runtests.sh +++ b/eng/helix/content/runtests.sh @@ -75,7 +75,7 @@ fi # dontet-install.sh seems to affect the Linux filesystem and causes test flakiness unless we sync the filesystem before running tests sync --ls -la $DOTNET_ROOT +ls -la $DOTNET_ROOT $DOTNET_ROOT/dotnet --list-sdks $DOTNET_ROOT/dotnet --list-runtimes From 594789b37055a1f4fb67777af7fab37ef5c9d985 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Mon, 10 Aug 2020 14:54:52 -0700 Subject: [PATCH 21/27] Update runtests.sh --- eng/helix/content/runtests.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/eng/helix/content/runtests.sh b/eng/helix/content/runtests.sh index cd41d598fe3c..07a45bf4da37 100644 --- a/eng/helix/content/runtests.sh +++ b/eng/helix/content/runtests.sh @@ -31,6 +31,8 @@ MAGENTA="\033[0;95m" echo "Ensure $DOTNET_ROOT exists: mkdir -p $DOTNET_ROOT" mkdir -p $DOTNET_ROOT +ls -la $HELIX_CORRELATION_PAYLOAD/dotnet + echo "Symlink sdk: ln -s $HELIX_CORRELATION_PAYLOAD/dotnet $DOTNET_ROOT/dotnet" ln -s $HELIX_CORRELATION_PAYLOAD/dotnet $DOTNET_ROOT/dotnet From f99dd846feb3b25f3315eac17de26d6d30d35b64 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Mon, 10 Aug 2020 15:44:32 -0700 Subject: [PATCH 22/27] Need shared to be writeable --- eng/helix/content/runtests.sh | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/eng/helix/content/runtests.sh b/eng/helix/content/runtests.sh index 07a45bf4da37..4879f7ac8a11 100644 --- a/eng/helix/content/runtests.sh +++ b/eng/helix/content/runtests.sh @@ -28,13 +28,23 @@ RED="\033[0;31m" YELLOW="\033[0;33m" MAGENTA="\033[0;95m" -echo "Ensure $DOTNET_ROOT exists: mkdir -p $DOTNET_ROOT" -mkdir -p $DOTNET_ROOT +echo "Ensure $DOTNET_ROOT/shared exists: mkdir -p $DOTNET_ROOT/shared" +mkdir -p $DOTNET_ROOT/shared ls -la $HELIX_CORRELATION_PAYLOAD/dotnet -echo "Symlink sdk: ln -s $HELIX_CORRELATION_PAYLOAD/dotnet $DOTNET_ROOT/dotnet" -ln -s $HELIX_CORRELATION_PAYLOAD/dotnet $DOTNET_ROOT/dotnet +echo "Symlink sdk: ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/dotnet $DOTNET_ROOT/dotnet/dotnet" +ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/dotnet $DOTNET_ROOT/dotnet/dotnet +echo "Symlink sdk: ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/host $DOTNET_ROOT/dotnet/host" +ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/host $DOTNET_ROOT/dotnet/host +echo "Symlink sdk: ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/packs $DOTNET_ROOT/dotnet/packs" +ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/packs $DOTNET_ROOT/dotnet/packs +echo "Symlink sdk: ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/sdk $DOTNET_ROOT/dotnet/sdk" +ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/sdk $DOTNET_ROOT/dotnet/sdk +echo "Symlink sdk: ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/templates $DOTNET_ROOT/dotnet/templates" +ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/templates $DOTNET_ROOT/dotnet/templates +echo "Symlink sdk/shared/*: cp -s $HELIX_CORRELATION_PAYLOAD/dotnet/shared/* $DOTNET_ROOT/dotnet/shared/" +cp -s $HELIX_CORRELATION_PAYLOAD/dotnet/shared/* $DOTNET_ROOT/dotnet/shared/ curl -o dotnet-install.sh -sSL https://dot.net/v1/dotnet-install.sh if [ $? -ne 0 ]; then From b7374cfe9fe008297afa8776617760b6f06e934d Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Mon, 10 Aug 2020 19:54:24 -0700 Subject: [PATCH 23/27] Create correct dotnet root --- eng/helix/content/runtests.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/helix/content/runtests.sh b/eng/helix/content/runtests.sh index 4879f7ac8a11..374561f0932c 100644 --- a/eng/helix/content/runtests.sh +++ b/eng/helix/content/runtests.sh @@ -28,8 +28,8 @@ RED="\033[0;31m" YELLOW="\033[0;33m" MAGENTA="\033[0;95m" -echo "Ensure $DOTNET_ROOT/shared exists: mkdir -p $DOTNET_ROOT/shared" -mkdir -p $DOTNET_ROOT/shared +echo "Ensure $DOTNET_ROOT/shared exists: mkdir -p $DOTNET_ROOT/dotnet/shared" +mkdir -p $DOTNET_ROOT/dotnet/shared ls -la $HELIX_CORRELATION_PAYLOAD/dotnet From c9d029b204062678ad6fe9be40bf4dbd9a4f7eb4 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Mon, 10 Aug 2020 21:41:26 -0700 Subject: [PATCH 24/27] Update runtests.sh --- eng/helix/content/runtests.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/eng/helix/content/runtests.sh b/eng/helix/content/runtests.sh index 374561f0932c..113edf11fab0 100644 --- a/eng/helix/content/runtests.sh +++ b/eng/helix/content/runtests.sh @@ -31,7 +31,7 @@ MAGENTA="\033[0;95m" echo "Ensure $DOTNET_ROOT/shared exists: mkdir -p $DOTNET_ROOT/dotnet/shared" mkdir -p $DOTNET_ROOT/dotnet/shared -ls -la $HELIX_CORRELATION_PAYLOAD/dotnet +ls -R $HELIX_CORRELATION_PAYLOAD/dotnet echo "Symlink sdk: ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/dotnet $DOTNET_ROOT/dotnet/dotnet" ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/dotnet $DOTNET_ROOT/dotnet/dotnet @@ -46,6 +46,8 @@ ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/templates $DOTNET_ROOT/dotnet/templates echo "Symlink sdk/shared/*: cp -s $HELIX_CORRELATION_PAYLOAD/dotnet/shared/* $DOTNET_ROOT/dotnet/shared/" cp -s $HELIX_CORRELATION_PAYLOAD/dotnet/shared/* $DOTNET_ROOT/dotnet/shared/ +ls -R $DOTNET_ROOT + curl -o dotnet-install.sh -sSL https://dot.net/v1/dotnet-install.sh if [ $? -ne 0 ]; then download_retries=3 @@ -87,7 +89,7 @@ fi # dontet-install.sh seems to affect the Linux filesystem and causes test flakiness unless we sync the filesystem before running tests sync -ls -la $DOTNET_ROOT +ls -R $DOTNET_ROOT $DOTNET_ROOT/dotnet --list-sdks $DOTNET_ROOT/dotnet --list-runtimes From 4a9373f6e21eadfc863093fdf796fb616e835d06 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Mon, 10 Aug 2020 23:38:13 -0700 Subject: [PATCH 25/27] Only link sdk --- eng/helix/content/runtests.sh | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/eng/helix/content/runtests.sh b/eng/helix/content/runtests.sh index 113edf11fab0..2d16c0b187cc 100644 --- a/eng/helix/content/runtests.sh +++ b/eng/helix/content/runtests.sh @@ -28,25 +28,11 @@ RED="\033[0;31m" YELLOW="\033[0;33m" MAGENTA="\033[0;95m" -echo "Ensure $DOTNET_ROOT/shared exists: mkdir -p $DOTNET_ROOT/dotnet/shared" -mkdir -p $DOTNET_ROOT/dotnet/shared +echo "Ensure $DOTNET_ROOT exists: mkdir -p $DOTNET_ROOT" +mkdir -p $DOTNET_ROOT -ls -R $HELIX_CORRELATION_PAYLOAD/dotnet - -echo "Symlink sdk: ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/dotnet $DOTNET_ROOT/dotnet/dotnet" -ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/dotnet $DOTNET_ROOT/dotnet/dotnet -echo "Symlink sdk: ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/host $DOTNET_ROOT/dotnet/host" -ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/host $DOTNET_ROOT/dotnet/host -echo "Symlink sdk: ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/packs $DOTNET_ROOT/dotnet/packs" -ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/packs $DOTNET_ROOT/dotnet/packs echo "Symlink sdk: ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/sdk $DOTNET_ROOT/dotnet/sdk" -ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/sdk $DOTNET_ROOT/dotnet/sdk -echo "Symlink sdk: ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/templates $DOTNET_ROOT/dotnet/templates" -ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/templates $DOTNET_ROOT/dotnet/templates -echo "Symlink sdk/shared/*: cp -s $HELIX_CORRELATION_PAYLOAD/dotnet/shared/* $DOTNET_ROOT/dotnet/shared/" -cp -s $HELIX_CORRELATION_PAYLOAD/dotnet/shared/* $DOTNET_ROOT/dotnet/shared/ - -ls -R $DOTNET_ROOT +ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/sdk $DOTNET_ROOT/sdk curl -o dotnet-install.sh -sSL https://dot.net/v1/dotnet-install.sh if [ $? -ne 0 ]; then @@ -89,7 +75,7 @@ fi # dontet-install.sh seems to affect the Linux filesystem and causes test flakiness unless we sync the filesystem before running tests sync -ls -R $DOTNET_ROOT +ls -la $DOTNET_ROOT $DOTNET_ROOT/dotnet --list-sdks $DOTNET_ROOT/dotnet --list-runtimes From d908f12a48c213797b0c7b32b9b825caf75ddc33 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Mon, 10 Aug 2020 23:38:57 -0700 Subject: [PATCH 26/27] Update runtests.sh --- eng/helix/content/runtests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/helix/content/runtests.sh b/eng/helix/content/runtests.sh index 2d16c0b187cc..795b42fa08f9 100644 --- a/eng/helix/content/runtests.sh +++ b/eng/helix/content/runtests.sh @@ -31,7 +31,7 @@ MAGENTA="\033[0;95m" echo "Ensure $DOTNET_ROOT exists: mkdir -p $DOTNET_ROOT" mkdir -p $DOTNET_ROOT -echo "Symlink sdk: ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/sdk $DOTNET_ROOT/dotnet/sdk" +echo "Symlink sdk: ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/sdk $DOTNET_ROOT/sdk" ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/sdk $DOTNET_ROOT/sdk curl -o dotnet-install.sh -sSL https://dot.net/v1/dotnet-install.sh From 47aff8ee5495c61316cbbbb343d8125d775cff72 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Tue, 11 Aug 2020 17:26:10 -0700 Subject: [PATCH 27/27] Try sym linking runtimes --- eng/helix/content/runtests.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/eng/helix/content/runtests.sh b/eng/helix/content/runtests.sh index 795b42fa08f9..f3e96f9b9a25 100644 --- a/eng/helix/content/runtests.sh +++ b/eng/helix/content/runtests.sh @@ -28,11 +28,16 @@ RED="\033[0;31m" YELLOW="\033[0;33m" MAGENTA="\033[0;95m" -echo "Ensure $DOTNET_ROOT exists: mkdir -p $DOTNET_ROOT" -mkdir -p $DOTNET_ROOT +echo "Ensure $DOTNET_ROOT/shared directories exist..." +mkdir -p $DOTNET_ROOT/shared/Microsoft.AspNetCore.App +mkdir -p $DOTNET_ROOT/shared/Microsoft.NETCore.App echo "Symlink sdk: ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/sdk $DOTNET_ROOT/sdk" ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/sdk $DOTNET_ROOT/sdk +echo "Symlink : ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/shared/Microsoft.AspNetCore.App/* $DOTNET_ROOT/shared/Microsoft.AspNetCore.App/" +ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/shared/Microsoft.AspNetCore.App/* $DOTNET_ROOT/shared/Microsoft.AspNetCore.App/ +echo "Symlink : ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/shared/Microsoft.NETCore.App/* $DOTNET_ROOT/shared/Microsoft.NETCore.App/" +ln -s $HELIX_CORRELATION_PAYLOAD/dotnet/shared/Microsoft.NETCore.App/* $DOTNET_ROOT/shared/Microsoft.NETCore.App/ curl -o dotnet-install.sh -sSL https://dot.net/v1/dotnet-install.sh if [ $? -ne 0 ]; then