Skip to content

Commit 555d283

Browse files
authored
[PERF][Release/7.0] Update release/7.0 Perf infrastructure to use Perf repo release/7.0 branch (#77699)
* Update perf branch to clone to release/7.0 from main. * Setup testing. * Fix SOD and Startup builds for performance. * [PERF] Pass local runtime timestamp from git into ci_setup (#76396) * Adds passing of locally obtained git commit time to ci_setup allowing for the bypassing of calling the github.com api. * Added use local commit time to run-scenarios yml. * Fixed uselocalcommittime format for linux setup. * Use correct quote style for passing time to ci_setup.py. * Updated the Nuget feed to fix net6.0 maui run and moved .net version installed from channel 6.0.4xx to 6.0. * Switch back to using the release/7.0 perf branch. * Remove user from pip3 install for musl.
1 parent de2c250 commit 555d283

File tree

5 files changed

+34
-16
lines changed

5 files changed

+34
-16
lines changed

eng/pipelines/coreclr/templates/build-perf-maui-apps-net6.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@ steps:
2727
2828
# Get the current maui nuget config so all things can be found and darc based package sources are kept up to date.
2929
- script: |
30-
curl -o NuGet.config 'https://raw.githubusercontent.com/dotnet/maui/main/NuGet.config'
30+
curl -o NuGet.config 'https://raw.githubusercontent.com/dotnet/maui/net6.0/NuGet.config'
3131
curl -o dotnet-install.sh 'https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh'
3232
chmod -R a+rx .
33-
./dotnet-install.sh --channel 6.0.4xx --quality daily --install-dir .
33+
./dotnet-install.sh --channel 6.0 --quality daily --install-dir .
3434
./dotnet --info
3535
./dotnet workload install maui --from-rollback-file https://aka.ms/dotnet/maui/net6.0.json --configfile NuGet.config
3636
displayName: Install MAUI workload

eng/pipelines/coreclr/templates/run-performance-job.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ jobs:
9393
export PERFLAB_UPLOAD_TOKEN="$(HelixPerfUploadTokenValue)"
9494
|| export PERF_PREREQS_INSTALL_FAILED=1;
9595
test "x$PERF_PREREQS_INSTALL_FAILED" = "x1" && echo "** Error: Failed to install prerequites **"
96-
- HelixPreCommandStemMusl: 'export ORIGPYPATH=$PYTHONPATH;sudo apk add icu-libs krb5-libs libgcc libintl libssl1.1 libstdc++ zlib cargo;sudo apk add libgdiplus --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing; python3 -m venv $HELIX_WORKITEM_PAYLOAD/.venv;source $HELIX_WORKITEM_PAYLOAD/.venv/bin/activate;export PYTHONPATH=;python3 -m pip install --user -U pip;pip3 install --user azure.storage.blob==12.7.1;pip3 install --user azure.storage.queue==12.1.5;export PERFLAB_UPLOAD_TOKEN="$(HelixPerfUploadTokenValue)"'
96+
- HelixPreCommandStemMusl: 'export ORIGPYPATH=$PYTHONPATH;sudo apk add icu-libs krb5-libs libgcc libintl libssl1.1 libstdc++ zlib cargo;sudo apk add libgdiplus --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing; python3 -m venv $HELIX_WORKITEM_PAYLOAD/.venv;source $HELIX_WORKITEM_PAYLOAD/.venv/bin/activate;export PYTHONPATH=;python3 -m pip install -U pip;pip3 install azure.storage.blob==12.7.1;pip3 install azure.storage.queue==12.1.5;export PERFLAB_UPLOAD_TOKEN="$(HelixPerfUploadTokenValue)"'
9797
- ExtraMSBuildLogsWindows: 'set MSBUILDDEBUGCOMM=1;set "MSBUILDDEBUGPATH=%HELIX_WORKITEM_UPLOAD_ROOT%"'
9898
- ExtraMSBuildLogsLinux: 'export MSBUILDDEBUGCOMM=1;export "MSBUILDDEBUGPATH=$HELIX_WORKITEM_UPLOAD_ROOT"'
9999
- HelixPreCommand: ''
@@ -155,11 +155,11 @@ jobs:
155155
_Framework: ${{ framework }}
156156
steps:
157157
- ${{ parameters.steps }}
158-
- powershell: $(Build.SourcesDirectory)\eng\testing\performance\performance-setup.ps1 $(IsInternal)$(Interpreter) -Framework $(_Framework) -Kind ${{ parameters.runKind }} -LogicalMachine ${{ parameters.logicalMachine }} ${{ parameters.pgoRunType }} ${{ parameters.extraSetupParameters }}
158+
- powershell: $(Build.SourcesDirectory)\eng\testing\performance\performance-setup.ps1 $(IsInternal)$(Interpreter) -Framework $(_Framework) -Kind ${{ parameters.runKind }} -LogicalMachine ${{ parameters.logicalMachine }} ${{ parameters.pgoRunType }} -UseLocalCommitTime ${{ parameters.extraSetupParameters }}
159159
displayName: Performance Setup (Windows)
160160
condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'))
161161
continueOnError: ${{ parameters.continueOnError }}
162-
- script: $(Build.SourcesDirectory)/eng/testing/performance/performance-setup.sh $(IsInternal)$(Interpreter) --framework $(_Framework) --kind ${{ parameters.runKind }} --logicalmachine ${{ parameters.logicalMachine }} ${{ parameters.extraSetupParameters }}
162+
- script: $(Build.SourcesDirectory)/eng/testing/performance/performance-setup.sh $(IsInternal)$(Interpreter) --framework $(_Framework) --kind ${{ parameters.runKind }} --logicalmachine ${{ parameters.logicalMachine }} --uselocalcommittime ${{ parameters.extraSetupParameters }}
163163
displayName: Performance Setup (Unix)
164164
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))
165165
continueOnError: ${{ parameters.continueOnError }}

eng/pipelines/coreclr/templates/run-scenarios-job.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -126,11 +126,11 @@ jobs:
126126
steps:
127127
- ${{ parameters.steps }}
128128
# run performance-setup
129-
- powershell: $(Build.SourcesDirectory)\eng\testing\performance\performance-setup.ps1 $(IsInternal) -Framework $(_Framework) -Kind ${{ parameters.runKind }} -LogicalMachine ${{ parameters.logicalMachine }} ${{ parameters.extraSetupParameters }} ${{ parameters.additionalSetupParameters }}
129+
- powershell: $(Build.SourcesDirectory)\eng\testing\performance\performance-setup.ps1 $(IsInternal) -Framework $(_Framework) -Kind ${{ parameters.runKind }} -LogicalMachine ${{ parameters.logicalMachine }} -UseLocalCommitTime ${{ parameters.extraSetupParameters }} ${{ parameters.additionalSetupParameters }}
130130
displayName: Performance Setup (Windows)
131131
condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'))
132132
continueOnError: ${{ parameters.continueOnError }}
133-
- script: $(Build.SourcesDirectory)/eng/testing/performance/performance-setup.sh $(IsInternal) --framework $(_Framework) --kind ${{ parameters.runKind }} --logicalmachine ${{ parameters.logicalMachine }} ${{ parameters.extraSetupParameters }} ${{ parameters.additionalSetupParameters }}
133+
- script: $(Build.SourcesDirectory)/eng/testing/performance/performance-setup.sh $(IsInternal) --framework $(_Framework) --kind ${{ parameters.runKind }} --logicalmachine ${{ parameters.logicalMachine }} --uselocalcommittime ${{ parameters.extraSetupParameters }} ${{ parameters.additionalSetupParameters }}
134134
displayName: Performance Setup (Linux/MAC)
135135
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))
136136
continueOnError: ${{ parameters.continueOnError }}
@@ -157,33 +157,33 @@ jobs:
157157
displayName: Copy scenario support files (Linux/MAC)
158158
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))
159159
# build Startup
160-
- script: $(PayloadDirectory)\dotnet\dotnet.exe publish -c Release -o $(WorkItemDirectory)\Startup -f net7.0 -r win-$(Architecture) $(PerformanceDirectory)\src\tools\ScenarioMeasurement\Startup\Startup.csproj
160+
- script: $(PayloadDirectory)\dotnet\dotnet.exe publish -c Release -o $(WorkItemDirectory)\Startup -f net7.0 -r win-$(Architecture) $(PerformanceDirectory)\src\tools\ScenarioMeasurement\Startup\Startup.csproj -p:DisableTransitiveFrameworkReferenceDownloads=true
161161
displayName: Build Startup tool (Windows)
162162
env:
163163
PERFLAB_TARGET_FRAMEWORKS: net7.0
164164
condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'))
165-
- script: $(PayloadDirectory)/dotnet/dotnet publish -c Release -o $(WorkItemDirectory)/startup -f net7.0 -r linux-$(Architecture) $(PerformanceDirectory)/src/tools/ScenarioMeasurement/Startup/Startup.csproj
165+
- script: $(PayloadDirectory)/dotnet/dotnet publish -c Release -o $(WorkItemDirectory)/startup -f net7.0 -r linux-$(Architecture) $(PerformanceDirectory)/src/tools/ScenarioMeasurement/Startup/Startup.csproj -p:DisableTransitiveFrameworkReferenceDownloads=true
166166
displayName: Build Startup tool (Linux)
167167
env:
168168
PERFLAB_TARGET_FRAMEWORKS: net7.0
169169
condition: and(succeeded(), eq(variables['Agent.Os'], 'Linux'))
170-
- script: $(PayloadDirectory)/dotnet/dotnet publish -c Release -o $(WorkItemDirectory)/startup -f net7.0 -r osx-$(Architecture) $(PerformanceDirectory)/src/tools/ScenarioMeasurement/Startup/Startup.csproj
170+
- script: $(PayloadDirectory)/dotnet/dotnet publish -c Release -o $(WorkItemDirectory)/startup -f net7.0 -r osx-$(Architecture) $(PerformanceDirectory)/src/tools/ScenarioMeasurement/Startup/Startup.csproj -p:DisableTransitiveFrameworkReferenceDownloads=true
171171
displayName: Build Startup tool (MAC)
172172
env:
173173
PERFLAB_TARGET_FRAMEWORKS: net7.0
174174
condition: and(succeeded(), eq(variables['Agent.Os'], 'Darwin'))
175175
# build SizeOnDisk
176-
- script: $(PayloadDirectory)\dotnet\dotnet.exe publish -c Release -o $(WorkItemDirectory)\SOD -f net7.0 -r win-$(Architecture) $(PerformanceDirectory)\src\tools\ScenarioMeasurement\SizeOnDisk\SizeOnDisk.csproj
176+
- script: $(PayloadDirectory)\dotnet\dotnet.exe publish -c Release -o $(WorkItemDirectory)\SOD -f net7.0 -r win-$(Architecture) $(PerformanceDirectory)\src\tools\ScenarioMeasurement\SizeOnDisk\SizeOnDisk.csproj -p:DisableTransitiveFrameworkReferenceDownloads=true
177177
displayName: Build SizeOnDisk tool (Windows)
178178
env:
179179
PERFLAB_TARGET_FRAMEWORKS: net7.0
180180
condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'))
181-
- script: $(PayloadDirectory)/dotnet/dotnet publish -c Release -o $(WorkItemDirectory)/SOD -f net7.0 -r linux-$(Architecture) $(PerformanceDirectory)/src/tools/ScenarioMeasurement/SizeOnDisk/SizeOnDisk.csproj
181+
- script: $(PayloadDirectory)/dotnet/dotnet publish -c Release -o $(WorkItemDirectory)/SOD -f net7.0 -r linux-$(Architecture) $(PerformanceDirectory)/src/tools/ScenarioMeasurement/SizeOnDisk/SizeOnDisk.csproj -p:DisableTransitiveFrameworkReferenceDownloads=true
182182
displayName: Build SizeOnDisk tool (Linux)
183183
env:
184184
PERFLAB_TARGET_FRAMEWORKS: net7.0
185185
condition: and(succeeded(), eq(variables['Agent.Os'], 'Linux'))
186-
- script: $(PayloadDirectory)/dotnet/dotnet publish -c Release -o $(WorkItemDirectory)/SOD -f net7.0 -r osx-$(Architecture) $(PerformanceDirectory)/src/tools/ScenarioMeasurement/SizeOnDisk/SizeOnDisk.csproj
186+
- script: $(PayloadDirectory)/dotnet/dotnet publish -c Release -o $(WorkItemDirectory)/SOD -f net7.0 -r osx-$(Architecture) $(PerformanceDirectory)/src/tools/ScenarioMeasurement/SizeOnDisk/SizeOnDisk.csproj -p:DisableTransitiveFrameworkReferenceDownloads=true
187187
displayName: Build SizeOnDisk tool (MAC)
188188
env:
189189
PERFLAB_TARGET_FRAMEWORKS: net7.0

eng/testing/performance/performance-setup.ps1

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ Param(
2626
[switch] $DynamicPGO,
2727
[switch] $FullPGO,
2828
[switch] $iOSLlvmBuild,
29-
[string] $MauiVersion
29+
[string] $MauiVersion,
30+
[switch] $UseLocalCommitTime
3031
)
3132

3233
$RunFromPerformanceRepo = ($Repository -eq "dotnet/performance") -or ($Repository -eq "dotnet-performance")
@@ -120,13 +121,19 @@ elseif($FullPGO)
120121
$SetupArguments = "$SetupArguments --full-pgo"
121122
}
122123

124+
if($UseLocalCommitTime)
125+
{
126+
$LocalCommitTime = (git show -s --format=%ci $CommitSha)
127+
$SetupArguments = "$SetupArguments --commit-time `"$LocalCommitTime`""
128+
}
129+
123130
if ($RunFromPerformanceRepo) {
124131
$SetupArguments = "--perf-hash $CommitSha $CommonSetupArguments"
125132

126133
robocopy $SourceDirectory $PerformanceDirectory /E /XD $PayloadDirectory $SourceDirectory\artifacts $SourceDirectory\.git
127134
}
128135
else {
129-
git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance $PerformanceDirectory
136+
git clone --branch release/7.0 --depth 1 --quiet https://github.com/dotnet/performance $PerformanceDirectory
130137
}
131138

132139
if($MonoDotnet -ne "")

eng/testing/performance/performance-setup.sh

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ javascript_engine="v8"
3737
iosmono=false
3838
iosllvmbuild=""
3939
maui_version=""
40+
use_local_commit_time=false
4041
only_sanity=false
4142

4243
while (($# > 0)); do
@@ -160,6 +161,10 @@ while (($# > 0)); do
160161
maui_version=$2
161162
shift 2
162163
;;
164+
--uselocalcommittime)
165+
use_local_commit_time=true
166+
shift 1
167+
;;
163168
--perffork)
164169
perf_fork=$2
165170
shift 2
@@ -200,6 +205,7 @@ while (($# > 0)); do
200205
echo " --iosmono Set for ios Mono/Maui runs"
201206
echo " --iosllvmbuild Set LLVM for iOS Mono/Maui runs"
202207
echo " --mauiversion Set the maui version for Mono/Maui runs"
208+
echo " --uselocalcommittime Pass local runtime commit time to the setup script"
203209
echo ""
204210
exit 0
205211
;;
@@ -314,6 +320,11 @@ if [[ "$internal" != true ]]; then
314320
setup_arguments="$setup_arguments --not-in-lab"
315321
fi
316322

323+
if [[ "$use_local_commit_time" == true ]]; then
324+
local_commit_time=$(git show -s --format=%ci $commit_sha)
325+
setup_arguments="$setup_arguments --commit-time \"$local_commit_time\""
326+
fi
327+
317328
if [[ "$run_from_perf_repo" == true ]]; then
318329
payload_directory=
319330
workitem_directory=$source_directory
@@ -323,7 +334,7 @@ else
323334
if [[ -n "$perf_fork" ]]; then
324335
git clone --branch $perf_fork_branch --depth 1 --quiet $perf_fork $performance_directory
325336
else
326-
git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $performance_directory
337+
git clone --branch release/7.0 --depth 1 --quiet https://github.com/dotnet/performance.git $performance_directory
327338
fi
328339
# uncomment to use BenchmarkDotNet sources instead of nuget packages
329340
# git clone https://github.com/dotnet/BenchmarkDotNet.git $benchmark_directory

0 commit comments

Comments
 (0)