diff --git a/.azure/pipelines/ci.yml b/.azure/pipelines/ci.yml index e5badb2ebcf929e61d0843681d7dfebf87b9923f..d68ae40d55149efe6b09d69b66176274c2b3676c 100644 --- a/.azure/pipelines/ci.yml +++ b/.azure/pipelines/ci.yml @@ -720,8 +720,9 @@ stages: - script: ./eng/build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -noBuildNative -projects src/Grpc/**/*.csproj /p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log $(_InternalRuntimeDownloadArgs) displayName: Restore interop projects - - script: ./eng/build.cmd -ci -nobl -noBuildRepoTasks -noRestore -test -all -noBuildNative -projects eng\helix\helix.proj - /p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildInteropProjects=true /p:RunTemplateTests=true + - script: ./eng/build.cmd -ci -nobl -noBuildRepoTasks -noRestore -test -all -noBuildNative + -projects eng\helix\helix.proj /p:IsHelixPRCheck=true + /p:IsHelixJob=true /p:BuildInteropProjects=true /p:RunTemplateTests=true /p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log $(_InternalRuntimeDownloadArgs) displayName: Run build.cmd helix target env: diff --git a/.azure/pipelines/helix-matrix.yml b/.azure/pipelines/helix-matrix.yml index e67d7ff108e4858a06f4f6b8054a662e4443c193..37631ca4e11e3fb5c800aa09727e612b442f3e73 100644 --- a/.azure/pipelines/helix-matrix.yml +++ b/.azure/pipelines/helix-matrix.yml @@ -39,9 +39,10 @@ jobs: - script: ./eng/build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -noBuildNative -projects src/Grpc/**/*.csproj /p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log displayName: Restore interop projects - - script: .\eng\build.cmd -ci -nobl -noBuildRepoTasks -NoRestore -test -all -noBuildNative -projects eng\helix\helix.proj - /p:IsHelixDaily=true /p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildInteropProjects=true - /p:RunTemplateTests=true /p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log + - script: .\eng\build.cmd -ci -nobl -noBuildRepoTasks -NoRestore -test -all -noBuildNative + -projects eng\helix\helix.proj + /p:IsHelixJob=true /p:BuildInteropProjects=true /p:RunTemplateTests=true + /p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log displayName: Run build.cmd helix target env: HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues @@ -50,29 +51,3 @@ jobs: - name: Helix_logs path: artifacts/log/ publishOnError: true - -# Helix ARM64 -- ${{ if ne(variables['System.TeamProject'], 'internal') }}: - - template: jobs/default-build.yml - parameters: - jobName: Helix_matrix_arm64 - jobDisplayName: "Tests: Helix ARM64 matrix" - agentOs: Linux - timeoutInMinutes: 480 - useHostedUbuntu: false - steps: - - script: ./eng/build.sh --ci --nobl --pack --arch arm64 - /p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log - displayName: Build shared Fx - - script: ./eng/build.sh --ci --nobl --arch arm64 --noBuildRepoTasks --no-build-nodejs --no-restore --test --all - --projects $(Build.SourcesDirectory)/eng/helix/helix.proj /p:IsHelixJob=true /p:IsHelixDaily=true - /p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log - displayName: Run build.sh helix arm64 target - env: - HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues - SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops - artifacts: - - name: Helix_arm64_logs - path: artifacts/log/ - publishOnError: true - includeForks: true diff --git a/.azure/pipelines/quarantined-pr.yml b/.azure/pipelines/quarantined-pr.yml index 74159d7a01de67f537bf38e087d3d4d58e6486ed..f336576be045379b51ee090a78a8e1208257e52a 100644 --- a/.azure/pipelines/quarantined-pr.yml +++ b/.azure/pipelines/quarantined-pr.yml @@ -64,8 +64,8 @@ jobs: /p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log displayName: Restore interop projects - script: ./eng/build.cmd -ci -nobl -noBuildRepoTasks -noRestore -test -all -noBuildJava -noBuildNative - -projects eng\helix\helix.proj /p:RunQuarantinedTests=true /p:IsRequiredCheck=true /p:IsHelixJob=true - /p:BuildInteropProjects=true /p:RunTemplateTests=true + -projects eng\helix\helix.proj /p:IsHelixPRCheck=true /p:RunQuarantinedTests=true + /p:IsHelixJob=true /p:BuildInteropProjects=true /p:RunTemplateTests=true /p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log displayName: Run build.cmd helix target continueOnError: true diff --git a/.azure/pipelines/quarantined-tests.yml b/.azure/pipelines/quarantined-tests.yml index 0b2f9d4f187a62a98d64bcc359c9a8e82dc04155..529a8a80ac3e1055d602fd2614168d6b425ebac3 100644 --- a/.azure/pipelines/quarantined-tests.yml +++ b/.azure/pipelines/quarantined-tests.yml @@ -35,7 +35,7 @@ jobs: /p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log displayName: Restore interop projects - script: ./eng/build.cmd -ci -nobl -noBuildRepoTasks -noRestore -test -all -noBuildJava -noBuildNative - -projects eng\helix\helix.proj /p:IsHelixDaily=true /p:RunQuarantinedTests=true /p:IsRequiredCheck=true + -projects eng\helix\helix.proj /p:RunQuarantinedTests=true /p:IsHelixJob=true /p:BuildInteropProjects=true /p:RunTemplateTests=true /p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log displayName: Run build.cmd helix target @@ -47,29 +47,3 @@ jobs: - name: Helix_logs path: artifacts/log/ publishOnError: true - -# Helix ARM64 -- template: jobs/default-build.yml - parameters: - jobName: Helix_quarantined_arm64 - jobDisplayName: "Tests: Helix ARM64" - agentOs: Linux - timeoutInMinutes: 480 - steps: - - script: ./eng/build.sh --ci --nobl --pack --arch arm64 - /p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log - displayName: Build shared Fx - - script: ./eng/build.sh --ci --nobl --arch arm64 --noBuildRepoTasks --no-build-nodejs --no-restore --test --all - --projects $(Build.SourcesDirectory)/eng/helix/helix.proj /p:IsHelixJob=true /p:IsHelixDaily=true - /p:RunQuarantinedTests=true /p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log - displayName: Run build.sh helix arm64 target - continueOnError: true - env: - HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues - 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/log/ - publishOnError: true - includeForks: true diff --git a/eng/helix/helix.proj b/eng/helix/helix.proj index 54e3c9015e027f221cf72b4c0cff1e75d9d49719..7300eb9270b3faa55bfec116efebc30489a89326 100644 --- a/eng/helix/helix.proj +++ b/eng/helix/helix.proj @@ -48,7 +48,7 @@ <HelixType>ci</HelixType> <!-- Creator is not valid for internal queues --> <Creator Condition="'$(_UseHelixOpenQueues)' == 'true'">aspnetcore</Creator> - <HelixBuild>$(BUILD_BUILDNUMBER).$(TargetArchitecture).$(SYSTEM_JOBATTEMPT)</HelixBuild> + <HelixBuild>$(BUILD_BUILDNUMBER).$(SYSTEM_JOBATTEMPT)</HelixBuild> <WaitForWorkItemCompletion>true</WaitForWorkItemCompletion> <EnableAzurePipelinesReporter>true</EnableAzurePipelinesReporter> <EnableXUnitReporter>true</EnableXUnitReporter> @@ -78,7 +78,7 @@ <ItemGroup Condition="Exists('$(HelixTestConfigurationFilePath)')"> <HelixCorrelationPayload Include="$(HelixTestConfigurationFilePath)" AsArchive="false" /> </ItemGroup> - + <Target Name="IncludeAspNetRuntime" BeforeTargets="Gather" Condition="'$(DoNotRequireSharedFxHelix)' != 'true' OR EXISTS('$(RepoRoot)artifacts\packages\$(Configuration)\Shipping\Microsoft.AspNetCore.App.Runtime.$(TargetRuntimeIdentifier).$(SharedFxVersion).nupkg')"> diff --git a/eng/scripts/RunHelix.ps1 b/eng/scripts/RunHelix.ps1 index e8734f7aeb6cdad91b8c54a32c5470185dd288d8..eee981c7e37f68ecad1461bc567c0e0bcfc9883a 100644 --- a/eng/scripts/RunHelix.ps1 +++ b/eng/scripts/RunHelix.ps1 @@ -55,7 +55,7 @@ Write-Host -ForegroundColor Yellow "If running tests that need the shared Fx, ru Write-Host -ForegroundColor Yellow "And if packing for a different platform, add '/p:CrossgenOutput=false'." $HelixQueues = $HelixQueues -replace ";", "%3B" -dotnet msbuild $Project /t:Helix /p:TargetArchitecture="$TargetArchitecture" /p:IsRequiredCheck=true ` - /p:IsHelixDaily=true /p:HelixTargetQueues=$HelixQueues /p:RunQuarantinedTests=$RunQuarantinedTests ` +dotnet msbuild $Project /t:Helix /p:TargetArchitecture="$TargetArchitecture" ` + /p:HelixTargetQueues=$HelixQueues /p:RunQuarantinedTests=$RunQuarantinedTests ` /p:_UseHelixOpenQueues=true /p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log ` /p:DoNotRequireSharedFxHelix=true @MSBuildArguments diff --git a/eng/targets/Helix.Common.props b/eng/targets/Helix.Common.props index 837788328e6ae2aec547b9a8e261d75060a8ff6a..5fa98ec7efce1f4fb82cb0b2208b81f5a4f6d634 100644 --- a/eng/targets/Helix.Common.props +++ b/eng/targets/Helix.Common.props @@ -1,5 +1,5 @@ <Project> - <!-- this file is shared between Helix.proj and .csproj files --> + <!-- This file is shared between Helix.proj and .csproj files. --> <PropertyGroup> <HelixQueueAlpine314>(Alpine.314.Amd64.Open)Ubuntu.1804.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.14-helix-amd64-20210910135833-1848e19</HelixQueueAlpine314> <HelixQueueDebian11>(Debian.11.Amd64.Open)Ubuntu.1804.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-helix-amd64-20211001171307-0ece9b3</HelixQueueDebian11> @@ -8,57 +8,57 @@ <HelixQueueArmDebian11>(Debian.11.Arm64.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-helix-arm64v8-20211001171229-97d8652</HelixQueueArmDebian11> </PropertyGroup> - <ItemGroup Condition="'$(IsWindowsOnlyTest)' != 'true'"> + <!-- Don't use <Choose/> for $(IsWindowsOnlyTest) checks. <When/> Condition is evaluated before project load. --> + <ItemGroup Condition=" '$(IsWindowsOnlyTest)' != 'true' "> <HelixAvailablePlatform Include="Windows" /> <HelixAvailablePlatform Include="OSX" /> <HelixAvailablePlatform Include="Linux" /> </ItemGroup> - - <ItemGroup Condition="'$(IsWindowsOnlyTest)' == 'true'"> + <ItemGroup Condition=" '$(IsWindowsOnlyTest)' == 'true' "> <HelixAvailablePlatform Include="Windows" /> </ItemGroup> - <!-- x64 PR(ci.yaml) required queues for internal and public cases --> - <ItemGroup Condition="'$(IsRequiredCheck)' == 'true' AND '$(TargetArchitecture)' == 'x64' AND '$(IsHelixDaily)' != 'true'"> - <HelixAvailableTargetQueue Include="Ubuntu.1804.Amd64.Open" Platform="Linux" /> - <HelixAvailableTargetQueue Include="Windows.11.Amd64.ClientPre.Open" Platform="Windows" /> - <HelixAvailableTargetQueue Include="OSX.1100.Amd64.Open" Platform="OSX" /> - </ItemGroup> - - <!-- x64 Queues for public helix-matrix.yml and quarantine pipelines, except in windows-only cases --> - <ItemGroup Condition="'$(TargetArchitecture)' == 'x64' AND '$(IsHelixDaily)' == 'true' AND '$(_UseHelixOpenQueues)' == 'true' AND '$(IsWindowsOnlyTest)' != 'true'"> - <!-- Linux --> - <HelixAvailableTargetQueue Include="Redhat.7.Amd64.Open" Platform="Linux" /> - <HelixAvailableTargetQueue Include="Ubuntu.2004.Amd64.Open" Platform="Linux" /> - - <!-- Mac --> - <HelixAvailableTargetQueue Include="OSX.1015.Amd64.Open" Platform="OSX" /> - - <!-- Containers --> - <HelixAvailableTargetQueue Include="$(HelixQueueAlpine314)" Platform="Linux" /> - <HelixAvailableTargetQueue Include="$(HelixQueueDebian11)" Platform="Linux" /> - <HelixAvailableTargetQueue Include="$(HelixQueueFedora34)" Platform="Linux" /> - <HelixAvailableTargetQueue Include="$(HelixQueueMariner)" Platform="Linux" /> - </ItemGroup> + <!-- + Usually do not need to check $(_UseHelixOpenQueues), $(RunQuarantinedTests) or $(IsWindowsOnlyTest). + $(_UseHelixOpenQueues) handling in helix.proj and Helix.targets is sufficient. We have no quarantined queues + at the moment. And, most Windows-specific checks are handled using @(HelixAvailablePlatform) in Helix.props. + --> + <Choose> + <When Condition=" '$(IsHelixPRCheck)' == 'true' "> + <!-- aspnetcore-ci[-official] (ci.yml) --> + <!-- aspnetcore-quarantined-pr (quarantined-pr.yml) --> + <ItemGroup> + <HelixAvailableTargetQueue Include="Ubuntu.1804.Amd64.Open" Platform="Linux" /> + <HelixAvailableTargetQueue Include="OSX.1100.Amd64.Open" Platform="OSX" /> + <HelixAvailableTargetQueue Include="Windows.11.Amd64.ClientPre.Open" Platform="Windows" /> + </ItemGroup> + </When> + <Otherwise> + <!-- aspnetcore-helix-matrix[-internal] (helix-matrix.yml) and RunHelix.ps1 --> + <!-- aspnetcore-quarantined-tests (quarantined-tests.yml) and RunHelix.ps1 -RunQuarantinedTests --> + <ItemGroup> + <!-- Linux --> + <HelixAvailableTargetQueue Include="Redhat.7.Amd64.Open" Platform="Linux" /> + <HelixAvailableTargetQueue Include="Ubuntu.2004.Amd64.Open" Platform="Linux" /> - <!-- x64 Queues for public helix-matrix.yml and quarantine pipelines, Windows cases--> - <ItemGroup Condition="'$(TargetArchitecture)' == 'x64' AND '$(IsHelixDaily)' == 'true' AND '$(_UseHelixOpenQueues)' == 'true'"> - <HelixAvailableTargetQueue Include="Windows.10.Amd64.Server20H2.Open" Platform="Windows" /> - <HelixAvailableTargetQueue Include="Windows.Amd64.Server2022.Open" Platform="Windows" /> - </ItemGroup> + <!-- Containers --> + <HelixAvailableTargetQueue Include="$(HelixQueueAlpine314)" Platform="Linux" /> + <HelixAvailableTargetQueue Include="$(HelixQueueDebian11)" Platform="Linux" /> + <HelixAvailableTargetQueue Include="$(HelixQueueFedora34)" Platform="Linux" /> + <HelixAvailableTargetQueue Include="$(HelixQueueMariner)" Platform="Linux" /> + <HelixAvailableTargetQueue Include="$(HelixQueueArmDebian11)" Platform="Linux" /> - <!-- x64 Queues for internal helix-matrix.yml and quarantine pipelines --> - <!-- The preview queue is only available internally, and should only be run on a daily basis --> - <ItemGroup Condition="'$(TargetArchitecture)' == 'x64' AND '$(IsHelixDaily)' == 'true' AND '$(_UseHelixOpenQueues)' != 'true'"> - </ItemGroup> + <!-- Mac --> + <HelixAvailableTargetQueue Include="OSX.1015.Amd64.Open" Platform="OSX" /> - <!-- arm64 queues for helix-matrix.yml and quarantine pipeline --> - <ItemGroup Condition="'$(TargetArchitecture)' == 'arm64' AND '$(IsHelixDaily)' == 'true' AND '$(_UseHelixOpenQueues)' == 'true' AND '$(IsWindowsOnlyTest)' != 'true'"> - <HelixAvailableTargetQueue Include="$(HelixQueueArmDebian11)" Platform="Linux" /> - </ItemGroup> + <!-- Windows --> + <HelixAvailableTargetQueue Include="Windows.10.Amd64.Server20H2.Open" Platform="Windows" /> + <HelixAvailableTargetQueue Include="Windows.Amd64.Server2022.Open" Platform="Windows" /> - <!-- IIS Express isn't supported on arm64 and most of the IsWindowsOnlyTests depend on it's setup scripts. --> - <ItemGroup Condition="'$(TargetArchitecture)' == 'arm64' AND '$(IsHelixDaily)' == 'true' AND '$(_UseHelixOpenQueues)' == 'true' AND '$(IsWindowsOnlyTest)' != 'true'"> - <HelixAvailableTargetQueue Include="Windows.10.Arm64v8.Open" Platform="Windows" /> - </ItemGroup> + <!-- IIS Express isn't supported on arm64 and most of the IsWindowsOnlyTests depend on its setup scripts. --> + <HelixAvailableTargetQueue Include="Windows.10.Arm64v8.Open" Platform="Windows" + Condition=" '$(IsWindowsOnlyTest)' != 'true' "/> + </ItemGroup> + </Otherwise> + </Choose> </Project> diff --git a/eng/targets/Helix.props b/eng/targets/Helix.props index ba192d5c93bb61814cd9487d87519125bab6b982..0e22b3ae5456797ce6abecd76c6ba43d9d85c15e 100644 --- a/eng/targets/Helix.props +++ b/eng/targets/Helix.props @@ -1,5 +1,4 @@ <Project> - <Import Project="Helix.Common.props" /> <ItemDefinitionGroup> @@ -10,14 +9,14 @@ </ItemDefinitionGroup> <PropertyGroup> - <CreateHelixPayload>true</CreateHelixPayload> <HelixTimeout>00:30:00</HelixTimeout> <HelixTimeout Condition="$(HelixTargetQueue.StartsWith('Windows.10.Amd64'))">00:40:00</HelixTimeout> <RunQuarantinedTests>false</RunQuarantinedTests> + + <IsArm64HelixQueue>false</IsArm64HelixQueue> <IsWindowsHelixQueue>false</IsWindowsHelixQueue> - <IsWindowsHelixQueue Condition="$(HelixTargetQueue.Contains('Windows')) or $(HelixTargetQueue.Contains('windows'))">true</IsWindowsHelixQueue> <IsMacHelixQueue>false</IsMacHelixQueue> - <IsMacHelixQueue Condition="$(HelixTargetQueue.Contains('OSX')) or $(HelixTargetQueue.Contains('macOs'))">true</IsMacHelixQueue> + <HelixTestName>$(MSBuildProjectName)--$(TargetFramework)</HelixTestName> <LoggingTestingDisableFileLogging Condition="'$(IsHelixJob)' == 'true'">false</LoggingTestingDisableFileLogging> <NodeVersion>16.11.0</NodeVersion> @@ -26,6 +25,14 @@ <TestDependsOnAspNetRuntime>true</TestDependsOnAspNetRuntime> </PropertyGroup> + <!-- Override a few properties in innermost (Publish) build for Helix submission. --> + <PropertyGroup Condition=" '$(HelixTargetQueue)' != '' "> + <HelixTimeout Condition="$(HelixTargetQueue.StartsWith('Windows.10.Amd64'))">00:40:00</HelixTimeout> + <IsArm64HelixQueue Condition="$(HelixTargetQueue.Contains('Arm64'))">true</IsArm64HelixQueue> + <IsWindowsHelixQueue Condition="$(HelixTargetQueue.Contains('Windows'))">true</IsWindowsHelixQueue> + <IsMacHelixQueue Condition="$(HelixTargetQueue.Contains('OSX'))">true</IsMacHelixQueue> + </PropertyGroup> + <ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'"> <HelixProjectPlatform Include="Windows" /> </ItemGroup> @@ -37,5 +44,4 @@ <ItemGroup> <HelixContent Include="$(RepoRoot)eng\helix\content\**\*" Exclude="$(RepoRoot)eng\helix\content\*.in" /> </ItemGroup> - </Project> diff --git a/eng/targets/Helix.targets b/eng/targets/Helix.targets index b1f5566ae767dbf093aebd3becb983dc9ea593d0..471f53f754ec407f0462103a174f35f82a9cb149 100644 --- a/eng/targets/Helix.targets +++ b/eng/targets/Helix.targets @@ -4,10 +4,15 @@ <HelixPreCommand Condition="'$(IsWindowsHelixQueue)' != 'true' AND '$(IsMacHelixQueue)' != 'true'" Include="./installjdk.sh 10.0.2 x64 && if [ "%24JAVA_HOME" = "" ]%3B then export JAVA_HOME=%24PWD/java%3B fi" /> </ItemGroup> - <ItemGroup Condition="'$(TestDependsOnMssql)' == 'true' AND '$(IsWindowsHelixQueue)' == 'true' AND '$(TargetArchitecture)' != 'arm64'"> + <ItemGroup Condition="'$(TestDependsOnMssql)' == 'true' AND '$(IsWindowsHelixQueue)' == 'true' AND '$(IsArm64HelixQueue)' != 'true'"> <HelixPreCommand Include="call RunPowershell.cmd mssql\InstallSqlServerLocalDB.ps1 || exit /b 1" /> </ItemGroup> + <PropertyGroup> + <_TestingArchitecture>x64</_TestingArchitecture> + <_TestingArchitecture Condition=" '$(IsArm64HelixQueue)' == 'true' ">arm64</_TestingArchitecture> + </PropertyGroup> + <PropertyGroup Condition="'$(TestDependsOnPlaywright)' == 'true'"> <SkipHelixQueues> $(HelixQueueAlpine314); @@ -35,7 +40,7 @@ </ItemGroup> <ItemGroup Condition="'$(TestDependsOnNode)' == 'true' AND '$(IsWindowsHelixQueue)' == 'false'"> - <HelixPreCommand Include="./installnode.sh $(NodeVersion) $(TargetArchitecture)" /> + <HelixPreCommand Include="./installnode.sh $(NodeVersion) $(_TestingArchitecture)" /> </ItemGroup> <ItemGroup Condition="'$(TestDependsOnNode)' == 'true' AND '$(IsWindowsHelixQueue)' == 'true'"> @@ -123,7 +128,7 @@ <PropertyGroup> <BuildHelixPayload Condition="'@(_HelixApplicableTargetQueue->Count())' == '0'">false</BuildHelixPayload> - <BuildHelixPayload Condition="'$(TargetArchitecture)' == 'arm64' AND '$(SkipHelixArm)' == 'true'">false</BuildHelixPayload> + <BuildHelixPayload Condition="'$(IsArm64HelixQueue)' == 'true' AND '$(SkipHelixArm)' == 'true'">false</BuildHelixPayload> <BuildHelixPayload Condition="$(HelixTargetQueue.StartsWith('%28Alpine.')) AND '$(SkipHelixAlpine)' == 'true'">false</BuildHelixPayload> <BuildHelixPayload Condition="$(SkipHelixQueues.Contains('$(HelixTargetQueue)'))">false</BuildHelixPayload> </PropertyGroup> @@ -188,8 +193,8 @@ When the targeting pack builds, it has exactly the same version as the shared framework. Passing SharedFxVersion because that's needed even when the targeting pack isn't building. --> - <Command Condition="$(IsWindowsHelixQueue)">call runtests.cmd $(TargetFileName) $(SharedFxVersion) $(_HelixFriendlyNameTargetQueue) $(TargetArchitecture) $(RunQuarantinedTests) $(DotnetEfVersion) $(HelixTimeout) $(TestDependsOnPlaywright)</Command> - <Command Condition="!$(IsWindowsHelixQueue)">./runtests.sh $(TargetFileName) $(SharedFxVersion) $(_HelixFriendlyNameTargetQueue) $(TargetArchitecture) $(RunQuarantinedTests) $(DotnetEfVersion) $(HelixTimeout) $(TestDependsOnPlaywright)</Command> + <Command Condition="$(IsWindowsHelixQueue)">call runtests.cmd $(TargetFileName) $(SharedFxVersion) $(_HelixFriendlyNameTargetQueue) $(_TestingArchitecture) $(RunQuarantinedTests) $(DotnetEfVersion) $(HelixTimeout) $(TestDependsOnPlaywright)</Command> + <Command Condition="!$(IsWindowsHelixQueue)">./runtests.sh $(TargetFileName) $(SharedFxVersion) $(_HelixFriendlyNameTargetQueue) $(_TestingArchitecture) $(RunQuarantinedTests) $(DotnetEfVersion) $(HelixTimeout) $(TestDependsOnPlaywright)</Command> <Command Condition="$(HelixCommand) != ''">$(HelixCommand)</Command> <Timeout>$(HelixTimeout)</Timeout> </HelixWorkItem>