Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
d9e1265
Automate SPMI collection for TE benchmarks
EgorBo Aug 26, 2025
97137f2
Update superpmi_aspnet2.py
EgorBo Aug 26, 2025
4cd9979
bunch of fixes
EgorBo Aug 26, 2025
be94b36
fix yml
EgorBo Aug 26, 2025
6fbc08c
Merge branch 'main' into automate-te
EgorBo Aug 26, 2025
f22e4cb
еу
EgorBo Aug 27, 2025
2a3b721
Merge branch 'main' of https://github.com/dotnet/runtime into automat…
EgorBo Aug 27, 2025
e649a4c
f
EgorBo Aug 27, 2025
25470bf
test
EgorBo Aug 27, 2025
68de099
Update superpmi_collect_setup.py
EgorBo Aug 28, 2025
a0edaa0
Update superpmi_collect_setup.py
EgorBo Aug 28, 2025
d28f960
Update superpmi-collect-pipeline.yml
EgorBo Aug 28, 2025
6516b5f
Fix placeholder in DownloadFilesFromResults
EgorBo Aug 28, 2025
80e1f55
small fixes
EgorBo Aug 28, 2025
dd34996
find ps1
EgorBo Aug 28, 2025
8cae35f
disable the benchmark for now
EgorBo Aug 28, 2025
4ddd365
enable on all targets
EgorBo Aug 28, 2025
11010a6
introduce --cli arg
EgorBo Aug 28, 2025
110259b
test
EgorBo Aug 28, 2025
c6399e0
use isExtraPlatformsBuild: true
EgorBo Aug 28, 2025
caa0ce6
Update superpmi-collect-pipeline.yml
EgorBo Aug 28, 2025
02397b7
win
EgorBo Aug 28, 2025
eae34e4
Merge branch 'automate-te' of github.com:EgorBo/runtime-1 into automa…
EgorBo Aug 28, 2025
e226f77
Merge branch 'main' into automate-te
EgorBo Aug 28, 2025
ac05eb6
install git on AL3
EgorBo Aug 28, 2025
fc0cf3d
fix error
EgorBo Aug 28, 2025
eb724d6
enable linxu
EgorBo Aug 28, 2025
d9d2548
Merge branch 'automate-te' of github.com:EgorBo/runtime-1 into automa…
EgorBo Aug 28, 2025
4ccf023
clean up
EgorBo Aug 29, 2025
b9363e4
add timeout
EgorBo Aug 29, 2025
c3aad15
test
EgorBo Aug 29, 2025
2bb89d8
use sudo
EgorBo Aug 29, 2025
2157b8e
clean up
EgorBo Aug 29, 2025
d3ca9f5
fix build
EgorBo Aug 29, 2025
86ca7e1
final fix
EgorBo Aug 29, 2025
1b2b13f
clean up
EgorBo Aug 29, 2025
91a1489
final
EgorBo Aug 29, 2025
26e09d4
cleanup
EgorBo Aug 29, 2025
6c507ac
cleanup
EgorBo Aug 29, 2025
0895c3e
add "-NonInteractive"
EgorBo Aug 29, 2025
aa9fca9
fix install_dotnet_sdk
EgorBo Aug 30, 2025
cdbc3ac
clean up
EgorBo Aug 30, 2025
b5ab27b
add --work_dir
EgorBo Aug 30, 2025
3740390
fix windows
EgorBo Aug 31, 2025
755a7bf
clean up
EgorBo Aug 31, 2025
efee87d
clean up
EgorBo Aug 31, 2025
30cdc84
ts
EgorBo Aug 31, 2025
254a961
fix windows
EgorBo Aug 31, 2025
4055e18
final
EgorBo Sep 1, 2025
96ee4c8
enable orchardcms
EgorBo Sep 1, 2025
810269f
Final commit
EgorBo Sep 1, 2025
ad11ccd
Merge branch 'main' of https://github.com/dotnet/runtime into automat…
EgorBo Sep 1, 2025
567a480
Merge branch 'main' into automate-te
EgorBo Sep 2, 2025
ad31183
Update src/coreclr/scripts/superpmi_aspnet2.py
EgorBo Sep 2, 2025
d353f5f
Update superpmi_aspnet2.py
EgorBo Sep 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions eng/pipelines/coreclr/templates/run-superpmi-collect-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,9 @@ jobs:
- ${{ if eq(parameters.collectionName, 'realworld') }}:
- name: InputDirectory
value: '$(Core_Root_Dir)'
- ${{ if eq(parameters.collectionName, 'aspnet2') }}:
- name: InputDirectory
value: '$(Core_Root_Dir)'
- ${{ if eq(parameters.collectionName, 'coreclr_tests') }}:
- name: InputDirectory
value: '$(managedTestArtifactRootFolderPath)'
Expand Down
21 changes: 21 additions & 0 deletions eng/pipelines/coreclr/templates/superpmi-collect-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -480,3 +480,24 @@ extends:
unifiedBuildConfigOverride: checked
# Default timeout is 150 minutes, which is too low for osx-arm64 queue.
timeoutInMinutes: 300

#
# Collection of aspnet/TechEmpower benchmarks (crank-based): aspnet2
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/coreclr/templates/superpmi-collect-job.yml
buildConfig: checked
platforms:
- osx_arm64
- linux_arm64
# - linux_x64 # currently runs of disk space too often.
- windows_x64
- windows_arm64
helixQueueGroup: ci
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobParameters:
testGroup: outerloop
liveLibrariesBuildConfig: Release
collectionType: run
collectionName: aspnet2
54 changes: 47 additions & 7 deletions src/coreclr/scripts/superpmi-collect.proj
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,10 @@

<!-- OS-specific settings for non-benchmarks collections -->

<PropertyGroup Condition=" '$(CollectionName)' != 'benchmarks' and '$(CollectionName)' != 'realworld' and '$(AGENT_OS)' == 'Windows_NT' ">
<PropertyGroup Condition=" '$(CollectionName)' != 'benchmarks' and '$(CollectionName)' != 'realworld' and '$(CollectionName)' != 'aspnet2' and '$(AGENT_OS)' == 'Windows_NT' ">
<AssembliesDirectoryOnHelix>%HELIX_WORKITEM_PAYLOAD%\binaries</AssembliesDirectoryOnHelix>
</PropertyGroup>
<PropertyGroup Condition=" '$(CollectionName)' != 'benchmarks' and '$(CollectionName)' != 'realworld' and '$(AGENT_OS)' != 'Windows_NT' ">
<PropertyGroup Condition=" '$(CollectionName)' != 'benchmarks' and '$(CollectionName)' != 'realworld' and '$(CollectionName)' != 'aspnet2' and '$(AGENT_OS)' != 'Windows_NT' ">
<AssembliesDirectoryOnHelix>$HELIX_WORKITEM_PAYLOAD/binaries</AssembliesDirectoryOnHelix>
</PropertyGroup>

Expand All @@ -84,6 +84,15 @@
<PerformanceDirectory>$HELIX_WORKITEM_PAYLOAD/performance</PerformanceDirectory>
</PropertyGroup>

<!-- OS-specific settings for aspnet2 collections -->

<PropertyGroup Condition=" '$(CollectionName)' == 'aspnet2' and '$(AGENT_OS)' == 'Windows_NT' ">
<CrankWorkDirectory>%HELIX_WORKITEM_PAYLOAD%</CrankWorkDirectory>
</PropertyGroup>
<PropertyGroup Condition=" '$(CollectionName)' == 'aspnet2' and '$(AGENT_OS)' != 'Windows_NT' ">
<CrankWorkDirectory>$HELIX_WORKITEM_PAYLOAD</CrankWorkDirectory>
</PropertyGroup>

<!-- Common non-OS-specific settings -->

<PropertyGroup>
Expand Down Expand Up @@ -138,7 +147,7 @@

<!-- Define the Helix work item command and timeout for each collection type -->

<PropertyGroup Condition="'$(CollectionName)' != 'benchmarks' and '$(CollectionName)' != 'realworld'">
<PropertyGroup Condition="'$(CollectionName)' != 'benchmarks' and '$(CollectionName)' != 'realworld' and '$(CollectionName)' != 'aspnet2'">
<WorkItemCommand>$(Python) $(SuperPMIDirectory)$(FileSeparatorChar)superpmi.py collect --clean -log_level DEBUG --$(CollectionType) $(PmiArguments) $(InputKind) $(AssembliesDirectoryOnHelix) -arch $(Architecture) -build_type $(BuildConfig) -core_root $(SuperPMIDirectory)</WorkItemCommand>
<WorkItemTimeout>2:00</WorkItemTimeout>
</PropertyGroup>
Expand All @@ -148,6 +157,11 @@
<WorkItemTimeout>3:00</WorkItemTimeout>
</PropertyGroup>

<PropertyGroup Condition="'$(CollectionName)' == 'aspnet2'">
<WorkItemCommand>$(Python) $(SuperPMIDirectory)$(FileSeparatorChar)superpmi_aspnet2.py --core_root $(SuperPMIDirectory) --work_dir $(CrankWorkDirectory) </WorkItemCommand>
<WorkItemTimeout>3:00</WorkItemTimeout>
</PropertyGroup>

<PropertyGroup>
<EnableAzurePipelinesReporter>false</EnableAzurePipelinesReporter>
<EnableXUnitReporter>false</EnableXUnitReporter>
Expand All @@ -157,6 +171,18 @@
<ItemGroup Condition=" '$(AGENT_OS)' == 'Windows_NT' ">
<HelixPreCommand Include="taskkill.exe /f /im corerun.exe"/>
<HelixPostCommand Include="taskkill.exe /f /im corerun.exe"/>

<HelixPreCommand Include="taskkill.exe /f /im crank-agent.exe"/>
<HelixPostCommand Include="taskkill.exe /f /im crank-agent.exe"/>
</ItemGroup>

<ItemGroup Condition=" '$(AGENT_OS)' != 'Windows_NT'">
<HelixPreCommand Include="pkill -f crank || true"/>
<HelixPostCommand Include="pkill -f crank || true"/>

<!-- Temp workaround, will be removed once https://github.com/dotnet/crank/pull/841 lands -->
<HelixPreCommand Include="sudo tdnf install git -y"/>
<HelixPreCommand Include="sudo tdnf update -y"/>
</ItemGroup>

<!-- We're currently not using .dotnet on the Helix agents -->
Expand Down Expand Up @@ -197,7 +223,7 @@
<!-- For non-benchmark collections, we create one Helix work item for each sub-directory
in the `InputArtifacts` directory.
-->
<ItemGroup Condition="'$(CollectionName)' != 'benchmarks' and '$(CollectionName)' != 'realworld'">
<ItemGroup Condition="'$(CollectionName)' != 'benchmarks' and '$(CollectionName)' != 'realworld' and '$(CollectionName)' != 'aspnet2'">
<PartitionDirectories Include="$([System.IO.Directory]::GetDirectories($(InputArtifacts)))"/>
<Partition Include="@(PartitionDirectories -> '%(Filename)')" CollectAssemblies="%(Filename)" PartitionId="%(Filename)" />
</ItemGroup>
Expand Down Expand Up @@ -262,9 +288,13 @@
<BDN_Partition Include="Partition3" Index="3" BenchmarkPath="src/benchmarks/real-world/Microsoft.ML.Benchmarks/Microsoft.ML.Benchmarks.csproj" BenchmarkBinary="Microsoft.ML.Benchmarks.dll" />
<BDN_Partition Include="Partition4" Index="4" BenchmarkPath="src/benchmarks/real-world/Roslyn/CompilerBenchmarks.csproj" BenchmarkBinary="CompilerBenchmarks.dll" />
<BDN_Partition Include="Partition5" Index="5" BenchmarkPath="src/benchmarks/real-world/PowerShell.Benchmarks/PowerShell.Benchmarks.csproj" BenchmarkBinary="PowerShell.Benchmarks.dll" />
</ItemGroup>
</ItemGroup>

<ItemGroup Condition="'$(CollectionName)' == 'aspnet2'">
<Crank_Partition Include="Partition0" Index="0" />
</ItemGroup>

<ItemGroup Condition="'$(CollectionName)' != 'benchmarks' and '$(CollectionName)' != 'realworld'">
<ItemGroup Condition="'$(CollectionName)' != 'benchmarks' and '$(CollectionName)' != 'realworld' and '$(CollectionName)' != 'aspnet2'">
<HelixWorkItem Include="@(Partition)">
<OutputFileName>$(CollectionName).$(CollectionType).%(HelixWorkItem.PartitionId).$(MchFileTag)</OutputFileName>
<PayloadDirectory>$(AssembliesPayload)$(FileSeparatorChar)%(HelixWorkItem.CollectAssemblies)</PayloadDirectory>
Expand Down Expand Up @@ -292,5 +322,15 @@
<Timeout>$(WorkItemTimeout)</Timeout>
<DownloadFilesFromResults>%(OutputFileName).mch;%(OutputFileName).mch.mct;%(OutputFileName).log</DownloadFilesFromResults>
</HelixWorkItem>
</ItemGroup>
</ItemGroup>

<ItemGroup Condition="'$(CollectionName)' == 'aspnet2'">
<HelixWorkItem Include="@(Crank_Partition)">
<OutputFileName>$(CollectionName).$(CollectionType).%(HelixWorkItem.Index).$(MchFileTag)</OutputFileName>
<PayloadDirectory>$(WorkItemDirectory)</PayloadDirectory>
<Command>$(WorkItemCommand) --output_mch $(OutputMchPath)$(FileSeparatorChar)%(OutputFileName).mch</Command>
<Timeout>$(WorkItemTimeout)</Timeout>
<DownloadFilesFromResults>%(OutputFileName).mch;%(OutputFileName).mch.mct</DownloadFilesFromResults>
</HelixWorkItem>
</ItemGroup>
</Project>
Loading
Loading