Fix Helix testing issues with stable versions and local builds (#25865)
- include all shipping packages in Helix payloads that need runtime - remove hard-coded `-ci` that broke Helix tests with stable versions or local builds - for local builds, do not assume `$(Configuration)` is Release - support `$(HelixTargetQueues)` property used in RunHelix.ps1 - lost somewhere along the lines; script ran full matrix nits: - clean up redundant addition of runtime and ref/ packages - `@(HelixContent)` additions in `_CreateHelixWorkItem` target are ignored - mention '+' separation of `-HelixQueues` argument to RunHelix.ps1 - allow `$(IsUnitTestProject)` override in case we need it in the future
This commit is contained in:
parent
ab5dfe5374
commit
e3b632894d
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
<IsBenchmarkProject Condition="$(MSBuildProjectName.EndsWith('.Performance')) OR $(RepoRelativeProjectDir.Contains('perf')) OR $(RepoRelativeProjectDir.Contains('benchmarkapps'))">true</IsBenchmarkProject>
|
<IsBenchmarkProject Condition="$(MSBuildProjectName.EndsWith('.Performance')) OR $(RepoRelativeProjectDir.Contains('perf')) OR $(RepoRelativeProjectDir.Contains('benchmarkapps'))">true</IsBenchmarkProject>
|
||||||
<IsSpecificationTestProject Condition="$(MSBuildProjectName.EndsWith('.Specification.Tests'))">true</IsSpecificationTestProject>
|
<IsSpecificationTestProject Condition="$(MSBuildProjectName.EndsWith('.Specification.Tests'))">true</IsSpecificationTestProject>
|
||||||
<IsUnitTestProject>false</IsUnitTestProject>
|
<IsUnitTestProject Condition=" '$(IsUnitTestProject)' == '' ">false</IsUnitTestProject>
|
||||||
<IsUnitTestProject Condition="'$(IsSpecificationTestProject)' != 'true' and ( $(MSBuildProjectName.EndsWith('Tests')) or $(MSBuildProjectName.EndsWith('.Test')) or $(MSBuildProjectName.EndsWith('.FunctionalTest')) )">true</IsUnitTestProject>
|
<IsUnitTestProject Condition="'$(IsSpecificationTestProject)' != 'true' and ( $(MSBuildProjectName.EndsWith('Tests')) or $(MSBuildProjectName.EndsWith('.Test')) or $(MSBuildProjectName.EndsWith('.FunctionalTest')) )">true</IsUnitTestProject>
|
||||||
<IsTestAssetProject Condition="$(RepoRelativeProjectDir.Contains('testassets'))">true</IsTestAssetProject>
|
<IsTestAssetProject Condition="$(RepoRelativeProjectDir.Contains('testassets'))">true</IsTestAssetProject>
|
||||||
<IsSampleProject Condition="$(RepoRelativeProjectDir.Contains('sample'))">true</IsSampleProject>
|
<IsSampleProject Condition="$(RepoRelativeProjectDir.Contains('sample'))">true</IsSampleProject>
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,8 @@
|
||||||
<Import Project="..\targets\Helix.Common.props" />
|
<Import Project="..\targets\Helix.Common.props" />
|
||||||
<Import Project="..\Build.props" />
|
<Import Project="..\Build.props" />
|
||||||
|
|
||||||
<ItemGroup>
|
<!-- Microsoft.DotNet.Helix.Sdk.MultiQueue.targets splits $(HelixTargetQueues) into @(HelixTargetQueue) items. -->
|
||||||
|
<ItemGroup Condition=" '$(HelixTargetQueues)' == '' ">
|
||||||
<HelixTargetQueue Condition="'$(_UseHelixOpenQueues)' == 'true'" Include="@(HelixAvailableTargetQueue)" />
|
<HelixTargetQueue Condition="'$(_UseHelixOpenQueues)' == 'true'" Include="@(HelixAvailableTargetQueue)" />
|
||||||
<HelixTargetQueue Condition="'$(_UseHelixOpenQueues)' != 'true'" Include="@(HelixAvailableTargetQueue->'%(Identity)'->Replace('.Open',''))" />
|
<HelixTargetQueue Condition="'$(_UseHelixOpenQueues)' != 'true'" Include="@(HelixAvailableTargetQueue->'%(Identity)'->Replace('.Open',''))" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
.PARAMETER Project
|
.PARAMETER Project
|
||||||
The test project to publish and send to Helix.
|
The test project to publish and send to Helix.
|
||||||
.PARAMETER HelixQueues
|
.PARAMETER HelixQueues
|
||||||
Set the Helix queues to use, the list is ';' separated.
|
Set the Helix queues to use. The list is '+' or ';'-separated.
|
||||||
Some supported queues:
|
Some supported queues:
|
||||||
Ubuntu.1604.Amd64.Open
|
Ubuntu.1604.Amd64.Open
|
||||||
Ubuntu.1804.Amd64.Open
|
Ubuntu.1804.Amd64.Open
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,17 @@
|
||||||
<HelixPreCommand Include="call RunPowershell.cmd InstallNode.ps1 $(NodeVersion) %25HELIX_CORRELATION_PAYLOAD%25\node\bin || exit /b 1" />
|
<HelixPreCommand Include="call RunPowershell.cmd InstallNode.ps1 $(NodeVersion) %25HELIX_CORRELATION_PAYLOAD%25\node\bin || exit /b 1" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup Condition="'$(IsHelixJob)' == 'true' AND '$(TestDependsOnAspNetRuntime)' == 'true'">
|
<ItemGroup Condition=" '$(TestDependsOnAspNetRuntime)' == 'true' ">
|
||||||
<HelixContent Include="$(RepoRoot)artifacts\packages\Release\Shipping\*-ci.nupkg" />
|
<!-- Grab all shipping packages. -->
|
||||||
|
<HelixContent Include="$(RepoRoot)artifacts\packages\$(Configuration)\Shipping\*$(SharedFxVersion).nupkg" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<!-- Java test projects do not use xUnit. -->
|
||||||
|
<HelixContent Include="$(OutputPath)Microsoft.VisualStudio.TestPlatform.Extension.Xunit.Xml.TestAdapter.dll"
|
||||||
|
Condition=" EXISTS('$(OutputPath)Microsoft.VisualStudio.TestPlatform.Extension.Xunit.Xml.TestLogger.dll') " />
|
||||||
|
<HelixContent Include="$(OutputPath)Microsoft.VisualStudio.TestPlatform.Extension.Xunit.Xml.TestLogger.dll"
|
||||||
|
Condition=" EXISTS('$(OutputPath)Microsoft.VisualStudio.TestPlatform.Extension.Xunit.Xml.TestLogger.dll') " />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<!-- Item group has to be defined here because Helix.props is evaluated before xunit.runner.console.props -->
|
<!-- Item group has to be defined here because Helix.props is evaluated before xunit.runner.console.props -->
|
||||||
|
|
@ -40,13 +49,10 @@
|
||||||
</ContentWithTargetPath>
|
</ContentWithTargetPath>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
This target is meant to be used when invoking helix tests on one project at a time.
|
||||||
This target is meant to be used when invoking helix tests on one project at a time.
|
Usage: dotnet msbuild /t:Helix src/MyTestProject.csproj
|
||||||
|
-->
|
||||||
Usage: dotnet msbuild /t:Helix src/MyTestProject.csproj
|
|
||||||
|
|
||||||
-->
|
|
||||||
<Target Name="Helix">
|
<Target Name="Helix">
|
||||||
<MSBuild Projects="$(MSBuildThisFileDirectory)..\helix\helix.proj"
|
<MSBuild Projects="$(MSBuildThisFileDirectory)..\helix\helix.proj"
|
||||||
Properties="ProjectToBuild=$(MSBuildProjectFullPath)" />
|
Properties="ProjectToBuild=$(MSBuildProjectFullPath)" />
|
||||||
|
|
@ -101,19 +107,6 @@ Usage: dotnet msbuild /t:Helix src/MyTestProject.csproj
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="_CreateHelixWorkItem" Condition="$(BuildHelixPayload)">
|
<Target Name="_CreateHelixWorkItem" Condition="$(BuildHelixPayload)">
|
||||||
<ItemGroup>
|
|
||||||
<HelixContent Include="$(OutputPath)/Microsoft.VisualStudio.TestPlatform.Extension.Xunit.Xml.TestAdapter.dll" />
|
|
||||||
<HelixContent Include="$(OutputPath)/Microsoft.VisualStudio.TestPlatform.Extension.Xunit.Xml.TestLogger.dll" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup Condition=" '$(TestDependsOnAspNetRef)' == 'true' AND '$(IsTargetingPackBuilding)' == 'true' ">
|
|
||||||
<HelixContent Include="$(RepoRoot)artifacts\packages\Release\Shipping\Microsoft.AspNetCore.App.Ref.$(TargetingPackVersion).nupkg" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup Condition=" '$(TestDependsOnAspNetRuntime)' == 'true' ">
|
|
||||||
<HelixContent Include="$(RepoRoot)artifacts\packages\Release\Shipping\Microsoft.AspNetCore.App.Runtime.win-x64.$(SharedFxVersion).nupkg" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- Extract the effective queue name from this format "(name)host@dockerimage". This is sometimes used in test code to skip tests. -->
|
<!-- Extract the effective queue name from this format "(name)host@dockerimage". This is sometimes used in test code to skip tests. -->
|
||||||
<_HelixFriendlyNameTargetQueue>$(HelixTargetQueue)</_HelixFriendlyNameTargetQueue>
|
<_HelixFriendlyNameTargetQueue>$(HelixTargetQueue)</_HelixFriendlyNameTargetQueue>
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@
|
||||||
<RootNamespace>Microsoft.AspNetCore</RootNamespace>
|
<RootNamespace>Microsoft.AspNetCore</RootNamespace>
|
||||||
<VerifyAncmBinary Condition="'$(TargetOsName)' == 'win' AND '$(TargetArchitecture)' != 'arm'">true</VerifyAncmBinary>
|
<VerifyAncmBinary Condition="'$(TargetOsName)' == 'win' AND '$(TargetArchitecture)' != 'arm'">true</VerifyAncmBinary>
|
||||||
<TestDependsOnAspNetRuntime>true</TestDependsOnAspNetRuntime>
|
<TestDependsOnAspNetRuntime>true</TestDependsOnAspNetRuntime>
|
||||||
<TestDependsOnAspNetRef>true</TestDependsOnAspNetRef>
|
|
||||||
<SkipHelixArm>true</SkipHelixArm>
|
<SkipHelixArm>true</SkipHelixArm>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue