2019-07-11 12:25:27 +00:00
|
|
|
<Project Sdk="Microsoft.DotNet.Helix.Sdk" DefaultTargets="Test">
|
|
|
|
|
|
|
|
<PropertyGroup Condition="'$(AGENT_OS)' == 'Windows_NT'">
|
|
|
|
<WorkItemCommand>%HELIX_CORRELATION_PAYLOAD%\performance\scripts\benchmarks_ci.py --csproj %HELIX_CORRELATION_PAYLOAD%\performance\$(TargetCsproj)</WorkItemCommand>
|
|
|
|
<CliArguments>--dotnet-versions %DOTNET_VERSION% --cli-source-info args --cli-branch %PERFLAB_BRANCH% --cli-commit-sha %PERFLAB_HASH% --cli-repository https://github.com/%PERFLAB_REPO% --cli-source-timestamp %PERFLAB_BUILDTIMESTAMP%</CliArguments>
|
|
|
|
<Python>py -3</Python>
|
|
|
|
<CoreRun>%HELIX_CORRELATION_PAYLOAD%\Core_Root\CoreRun.exe</CoreRun>
|
2019-09-05 13:41:47 +00:00
|
|
|
<BaselineCoreRun>%HELIX_CORRELATION_PAYLOAD%\Baseline_Core_Root\CoreRun.exe</BaselineCoreRun>
|
2019-07-11 12:25:27 +00:00
|
|
|
<HelixPreCommands>$(HelixPreCommands);call %HELIX_CORRELATION_PAYLOAD%\performance\tools\machine-setup.cmd</HelixPreCommands>
|
|
|
|
<ArtifactsDirectory>%HELIX_CORRELATION_PAYLOAD%\artifacts\BenchmarkDotNet.Artifacts</ArtifactsDirectory>
|
2019-09-05 13:41:47 +00:00
|
|
|
<BaselineArtifactsDirectory>%HELIX_CORRELATION_PAYLOAD%\artifacts\BenchmarkDotNet.Artifacts_Baseline</BaselineArtifactsDirectory>
|
|
|
|
<ResultsComparer>%HELIX_CORRELATION_PAYLOAD%\performance\src\tools\ResultsComparer\ResultsComparer.csproj</ResultsComparer>
|
|
|
|
<DotnetExe>%HELIX_CORRELATION_PAYLOAD%\performance\tools\dotnet\$(Architecture)\dotnet.exe</DotnetExe>
|
|
|
|
<Percent>%25%25</Percent>
|
|
|
|
<XMLResults>%HELIX_WORKITEM_ROOT%\testResults.xml</XMLResults>
|
2019-07-11 12:25:27 +00:00
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
<PropertyGroup Condition="'$(AGENT_OS)' != 'Windows_NT' and '$(RunFromPerfRepo)' == 'false'">
|
|
|
|
<BaseDirectory>$HELIX_CORRELATION_PAYLOAD</BaseDirectory>
|
|
|
|
<PerformanceDirectory>$(BaseDirectory)/performance</PerformanceDirectory>
|
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
<PropertyGroup Condition="'$(AGENT_OS)' != 'Windows_NT' and '$(RunFromPerfRepo)' == 'true'">
|
|
|
|
<BaseDirectory>$HELIX_WORKITEM_PAYLOAD</BaseDirectory>
|
|
|
|
<PerformanceDirectory>$(BaseDirectory)</PerformanceDirectory>
|
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
<PropertyGroup Condition="'$(AGENT_OS)' != 'Windows_NT'">
|
|
|
|
<WorkItemCommand>$(PerformanceDirectory)/scripts/benchmarks_ci.py --csproj $(PerformanceDirectory)/$(TargetCsproj)</WorkItemCommand>
|
|
|
|
<CliArguments>--dotnet-versions $DOTNET_VERSION --cli-source-info args --cli-branch $PERFLAB_BRANCH --cli-commit-sha $PERFLAB_HASH --cli-repository https://github.com/$PERFLAB_REPO --cli-source-timestamp $PERFLAB_BUILDTIMESTAMP</CliArguments>
|
|
|
|
<Python>python3</Python>
|
|
|
|
<CoreRun>$(BaseDirectory)/Core_Root/corerun</CoreRun>
|
2019-09-05 13:41:47 +00:00
|
|
|
<BaselineCoreRun>$(BaseDirectory)/Baseline_Core_Root/corerun</BaselineCoreRun>
|
2019-07-11 12:25:27 +00:00
|
|
|
<HelixPreCommands>$(HelixPreCommands);chmod +x $(PerformanceDirectory)/tools/machine-setup.sh;. $(PerformanceDirectory)/tools/machine-setup.sh</HelixPreCommands>
|
|
|
|
<ArtifactsDirectory>$(BaseDirectory)/artifacts/BenchmarkDotNet.Artifacts</ArtifactsDirectory>
|
2019-09-05 13:41:47 +00:00
|
|
|
<BaselineArtifactsDirectory>$(BaseDirectory)/artifacts/BenchmarkDotNet.Artifacts_Baseline</BaselineArtifactsDirectory>
|
|
|
|
<ResultsComparer>$(PerformanceDirectory)/src/tools/ResultsComparer/ResultsComparer.csproj</ResultsComparer>
|
|
|
|
<DotnetExe>$(PerformanceDirectory)/tools/dotnet/$(Architecture)/dotnet</DotnetExe>
|
|
|
|
<Percent>%25</Percent>
|
|
|
|
<XMLResults>$HELIX_WORKITEM_ROOT/testResults.xml</XMLResults>
|
2019-07-11 12:25:27 +00:00
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
<PropertyGroup Condition="'$(UseCoreRun)' == 'true'">
|
|
|
|
<CoreRunArgument>--corerun $(CoreRun)</CoreRunArgument>
|
|
|
|
</PropertyGroup>
|
|
|
|
|
2019-09-05 13:41:47 +00:00
|
|
|
<PropertyGroup Condition="'$(UseBaselineCoreRun)' == 'true'">
|
|
|
|
<BaselineCoreRunArgument>--corerun $(BaselineCoreRun)</BaselineCoreRunArgument>
|
|
|
|
</PropertyGroup>
|
|
|
|
|
2019-07-11 12:25:27 +00:00
|
|
|
<PropertyGroup Condition="'$(WorkItemCommand)' != ''">
|
|
|
|
<WorkItemCommand>$(Python) $(WorkItemCommand) --incremental no --architecture $(Architecture) -f $(_Framework) $(PerfLabArguments)</WorkItemCommand>
|
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
<PropertyGroup Condition="'$(_Framework)' != 'net461'">
|
|
|
|
<WorkItemCommand>$(WorkItemCommand) $(CliArguments)</WorkItemCommand>
|
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
<ItemGroup>
|
|
|
|
<HelixCorrelationPayload Include="$(CorrelationPayloadDirectory)">
|
|
|
|
<PayloadDirectory>%(Identity)</PayloadDirectory>
|
|
|
|
</HelixCorrelationPayload>
|
|
|
|
</ItemGroup>
|
|
|
|
|
|
|
|
<PropertyGroup>
|
|
|
|
<PartitionCount>5</PartitionCount>
|
|
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
|
|
<Partition Include="$(BuildConfig).Partition0" Index="0" />
|
|
|
|
<Partition Include="$(BuildConfig).Partition1" Index="1" />
|
|
|
|
<Partition Include="$(BuildConfig).Partition2" Index="2" />
|
|
|
|
<Partition Include="$(BuildConfig).Partition3" Index="3" />
|
|
|
|
<Partition Include="$(BuildConfig).Partition4" Index="4" />
|
|
|
|
</ItemGroup>
|
|
|
|
|
2019-09-05 13:41:47 +00:00
|
|
|
<PropertyGroup Condition="'$(Compare)' == 'true'">
|
|
|
|
<FailOnTestFailure>false</FailOnTestFailure>
|
|
|
|
</PropertyGroup>
|
|
|
|
|
2019-07-11 12:25:27 +00:00
|
|
|
<!--
|
|
|
|
Partition the Microbenchmarks project, but nothing else
|
|
|
|
-->
|
|
|
|
<ItemGroup Condition="$(TargetCsproj.Contains('MicroBenchmarks.csproj'))">
|
|
|
|
<HelixWorkItem Include="@(Partition)">
|
|
|
|
<PayloadDirectory>$(WorkItemDirectory)</PayloadDirectory>
|
2019-09-05 13:41:47 +00:00
|
|
|
<PreCommands Condition="'$(Compare)' == 'true'">$(WorkItemCommand) --bdn-artifacts $(BaselineArtifactsDirectory) --bdn-arguments="--anyCategories $(BDNCategories) $(ExtraBenchmarkDotNetArguments) $(BaselineCoreRunArgument) --partition-count $(PartitionCount) --partition-index %(HelixWorkItem.Index)"</PreCommands>
|
|
|
|
<Command>$(WorkItemCommand) --bdn-artifacts $(ArtifactsDirectory) --bdn-arguments="--anyCategories $(BDNCategories) $(ExtraBenchmarkDotNetArguments) $(CoreRunArgument) --partition-count $(PartitionCount) --partition-index %(HelixWorkItem.Index)"</Command>
|
|
|
|
<PostCommands Condition="'$(Compare)' == 'true'">$(DotnetExe) run -f $(_Framework) -p $(ResultsComparer) --base $(BaselineArtifactsDirectory) --diff $(ArtifactsDirectory) --threshold 2$(Percent) --xml $(XMLResults);$(FinalCommand)</PostCommands>
|
2019-07-11 12:25:27 +00:00
|
|
|
<Timeout>4:00</Timeout>
|
|
|
|
</HelixWorkItem>
|
|
|
|
</ItemGroup>
|
2019-09-05 13:41:47 +00:00
|
|
|
|
2019-07-11 12:25:27 +00:00
|
|
|
<ItemGroup Condition="!$(TargetCsproj.Contains('MicroBenchmarks.csproj'))">
|
|
|
|
<HelixWorkItem Include="$(BuildConfig).WorkItem">
|
|
|
|
<PayloadDirectory>$(WorkItemDirectory)</PayloadDirectory>
|
2019-09-05 13:41:47 +00:00
|
|
|
<PreCommands Condition="'$(Compare)' == 'true'">$(WorkItemCommand) --bdn-artifacts $(BaselineArtifactsDirectory) --bdn-arguments="--anyCategories $(BDNCategories) $(ExtraBenchmarkDotNetArguments) $(BaselineCoreRunArgument)"</PreCommands>
|
|
|
|
<Command>$(WorkItemCommand) --bdn-artifacts $(ArtifactsDirectory) --bdn-arguments="--anyCategories $(BDNCategories) $(ExtraBenchmarkDotNetArguments) $(CoreRunArgument)"</Command>
|
|
|
|
<PostCommands Condition="'$(Compare)' == 'true'">$(DotnetExe) run -f $(_Framework) -p $(ResultsComparer) --base $(BaselineArtifactsDirectory) --diff $(ArtifactsDirectory) --threshold 2$(Percent) --xml $(XMLResults)</PostCommands>
|
2019-07-11 12:25:27 +00:00
|
|
|
<Timeout>4:00</Timeout>
|
|
|
|
</HelixWorkItem>
|
|
|
|
</ItemGroup>
|
|
|
|
</Project>
|