Skip to content

Commit 0b09684

Browse files
authored
Remove alpine job and cut down on perftiger jobs (#4886)
* Remove alpine job and cut down on perftiger jobs as the alpine machines have been decom'd and the perftiger machines have had a portion decom'd. * Remove the alpine supporting infra as we no longer have alpine.
1 parent 46783e1 commit 0b09684

File tree

6 files changed

+8
-125
lines changed

6 files changed

+8
-125
lines changed

eng/pipelines/runtime-perf-build-jobs.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,6 @@ jobs:
1414
- template: /eng/pipelines/performance/templates/perf-coreclr-build-jobs.yml@${{ parameters.runtimeRepoAlias }}
1515
parameters:
1616
windows_arm64: true
17-
18-
- ${{ if containsValue(parameters.buildType, 'coreclr_muslx64_linux') }}:
19-
- template: /eng/pipelines/performance/templates/perf-coreclr-build-jobs.yml@${{ parameters.runtimeRepoAlias }}
20-
parameters:
21-
linux_musl_x64: true
2217

2318
- ${{ if containsValue(parameters.buildType, 'coreclr_x64_linux') }}:
2419
- template: /eng/pipelines/performance/templates/perf-coreclr-build-jobs.yml@${{ parameters.runtimeRepoAlias }}

eng/pipelines/runtime-perf-jobs.yml

Lines changed: 2 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -46,26 +46,6 @@ parameters:
4646
configs:
4747
- windows_x64
4848
- linux_x64
49-
- windown_x86
50-
- linux_musl_x64
51-
- name: tigerMonoAOT
52-
type: object
53-
default:
54-
enabled: true
55-
configs:
56-
- linux_x64
57-
- name: tigerMonoInterpreter
58-
type: object
59-
default:
60-
enabled: true
61-
configs:
62-
- linux_x64
63-
- name: tigerMono
64-
type: object
65-
default:
66-
enabled: true
67-
configs:
68-
- linux_x64
6949
- name: androidMono
7050
type: object
7151
default:
@@ -188,24 +168,6 @@ jobs:
188168
${{ parameter.key }}: ${{ parameter.value }}
189169

190170
# run mono microbenchmarks perf job
191-
- template: /eng/pipelines/common/platform-matrix.yml@${{ parameters.runtimeRepoAlias }}
192-
parameters:
193-
jobTemplate: /eng/pipelines/templates/runtime-perf-job.yml@${{ parameters.performanceRepoAlias }}
194-
buildConfig: release
195-
runtimeFlavor: mono
196-
platforms:
197-
- linux_x64
198-
jobParameters:
199-
liveLibrariesBuildConfig: Release
200-
runtimeType: mono
201-
runKind: micro_mono
202-
logicalMachine: 'perftiger'
203-
runtimeRepoAlias: ${{ parameters.runtimeRepoAlias }}
204-
performanceRepoAlias: ${{ parameters.performanceRepoAlias }}
205-
${{ each parameter in parameters.jobParameters }}:
206-
${{ parameter.key }}: ${{ parameter.value }}
207-
208-
# run mono microbenchmarks perf job - perfviper
209171
- template: /eng/pipelines/common/platform-matrix.yml@${{ parameters.runtimeRepoAlias }}
210172
parameters:
211173
jobTemplate: /eng/pipelines/templates/runtime-perf-job.yml@${{ parameters.performanceRepoAlias }}
@@ -223,26 +185,8 @@ jobs:
223185
${{ each parameter in parameters.jobParameters }}:
224186
${{ parameter.key }}: ${{ parameter.value }}
225187

226-
# run mono interpreter perf job
227-
- template: /eng/pipelines/common/platform-matrix.yml@${{ parameters.runtimeRepoAlias }}
228-
parameters:
229-
jobTemplate: /eng/pipelines/templates/runtime-perf-job.yml@${{ parameters.performanceRepoAlias }}
230-
buildConfig: release
231-
runtimeFlavor: mono
232-
platforms:
233-
- linux_x64
234-
jobParameters:
235-
liveLibrariesBuildConfig: Release
236-
runtimeType: mono
237-
codeGenType: 'Interpreter'
238-
runKind: micro_mono
239-
logicalMachine: 'perftiger'
240-
runtimeRepoAlias: ${{ parameters.runtimeRepoAlias }}
241-
performanceRepoAlias: ${{ parameters.performanceRepoAlias }}
242-
${{ each parameter in parameters.jobParameters }}:
243-
${{ parameter.key }}: ${{ parameter.value }}
244188

245-
# run mono interpreter perf job - perfviper
189+
# run mono interpreter perf job
246190
- template: /eng/pipelines/common/platform-matrix.yml@${{ parameters.runtimeRepoAlias }}
247191
parameters:
248192
jobTemplate: /eng/pipelines/templates/runtime-perf-job.yml@${{ parameters.performanceRepoAlias }}
@@ -262,25 +206,6 @@ jobs:
262206
${{ parameter.key }}: ${{ parameter.value }}
263207

264208
# run mono aot microbenchmarks perf job
265-
- template: /eng/pipelines/common/platform-matrix.yml@${{ parameters.runtimeRepoAlias }}
266-
parameters:
267-
jobTemplate: /eng/pipelines/templates/runtime-perf-job.yml@${{ parameters.performanceRepoAlias }}
268-
buildConfig: release
269-
runtimeFlavor: aot
270-
platforms:
271-
- linux_x64
272-
jobParameters:
273-
liveLibrariesBuildConfig: Release
274-
runtimeType: mono
275-
codeGenType: 'AOT'
276-
runKind: micro_mono
277-
logicalMachine: 'perftiger'
278-
runtimeRepoAlias: ${{ parameters.runtimeRepoAlias }}
279-
performanceRepoAlias: ${{ parameters.performanceRepoAlias }}
280-
${{ each parameter in parameters.jobParameters }}:
281-
${{ parameter.key }}: ${{ parameter.value }}
282-
283-
# run mono aot microbenchmarks perf job - perfviper
284209
- template: /eng/pipelines/common/platform-matrix.yml@${{ parameters.runtimeRepoAlias }}
285210
parameters:
286211
jobTemplate: /eng/pipelines/templates/runtime-perf-job.yml@${{ parameters.performanceRepoAlias }}
@@ -308,8 +233,6 @@ jobs:
308233
platforms:
309234
- linux_x64
310235
- windows_x64
311-
- windows_x86
312-
- linux_musl_x64
313236
jobParameters:
314237
liveLibrariesBuildConfig: Release
315238
runKind: micro
@@ -353,7 +276,7 @@ jobs:
353276
projectFile: $(Build.SourcesDirectory)/eng/testing/performance/crossgen_perf.proj
354277
runKind: crossgen_scenarios
355278
isScenario: true
356-
logicalMachine: 'perftiger_crossgen'
279+
logicalMachine: 'perftiger_crossgen' # Update when re-enabling as PerfTiger is now fewer machines (or completely decommissioned)
357280
runtimeRepoAlias: ${{ parameters.runtimeRepoAlias }}
358281
performanceRepoAlias: ${{ parameters.performanceRepoAlias }}
359282
${{ each parameter in parameters.jobParameters }}:

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

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -78,11 +78,7 @@ jobs:
7878
logs:
7979
name: Logs_$(Agent.JobName)_Attempt_$(System.JobAttempt)
8080

81-
# Component governance does not work on musl machines
82-
${{ if eq(parameters.osSubGroup, '_musl') }}:
83-
disableComponentGovernance: true
84-
${{ else }}:
85-
disableComponentGovernance: ${{ parameters.disableComponentGovernance }}
81+
disableComponentGovernance: ${{ parameters.disableComponentGovernance }}
8682

8783
${{ if or(ne(length(parameters.channels), 0), ne(length(parameters.dotnetVersionsLinks), 0), ne(length(parameters.frameworks), 0)) }}:
8884
strategy:

eng/pipelines/upload-build-artifacts-jobs.yml

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,6 @@ jobs:
2323
- artifactName: 'BuildArtifacts_windows_arm64_Release_coreclr'
2424
files: [ 'BuildArtifacts_windows_arm64_Release_coreclr.zip' ]
2525

26-
- ${{ if containsValue(parameters.buildType, 'coreclr_muslx64_linux') }}:
27-
- template: /eng/pipelines/templates/upload-build-artifacts-job.yml@${{ parameters.performanceRepoAlias }}
28-
parameters:
29-
buildType: 'coreclr_muslx64_linux'
30-
dependencyJobName: build_linux_musl_x64_release_coreclr
31-
artifacts:
32-
- artifactName: 'BuildArtifacts_linux_musl_x64_Release_coreclr'
33-
files: [ 'BuildArtifacts_linux_musl_x64_Release_coreclr.tar.gz' ]
34-
3526
- ${{ if containsValue(parameters.buildType, 'coreclr_x64_linux') }}:
3627
- template: /eng/pipelines/templates/upload-build-artifacts-job.yml@${{ parameters.performanceRepoAlias }}
3728
parameters:

helix.yml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -151,10 +151,3 @@ profiles:
151151
variables:
152152
osGroup: osx
153153
queue: OSX.13.Amd64.Iphone.Perf
154-
155-
alpine:
156-
jobs:
157-
benchmark:
158-
variables:
159-
osGroup: linux
160-
queue: alpine.amd64.tiger.perf

scripts/run_performance_job.py

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -116,10 +116,6 @@ class RunPerformanceJobArgs:
116116
def get_pre_commands(args: RunPerformanceJobArgs, v8_version: str):
117117
helix_pre_commands: list[str] = []
118118

119-
# Increase file handle limit for Alpine: https://github.com/dotnet/runtime/pull/94439
120-
if args.os_sub_group == "_musl":
121-
helix_pre_commands += ["ulimit -n 4096"]
122-
123119
# Remember the previous PYTHONPATH that was set so it can be restored in the post commands
124120
if args.os_group == "windows":
125121
helix_pre_commands += ["set ORIGPYPATH=%PYTHONPATH%"]
@@ -130,13 +126,6 @@ def get_pre_commands(args: RunPerformanceJobArgs, v8_version: str):
130126
# On non-Windows, these commands are chained together with && so they will stop if any fail
131127
install_prerequisites: list[str] = []
132128

133-
# Install libgdiplus on Alpine
134-
if args.os_sub_group == "_musl":
135-
install_prerequisites += [
136-
"sudo apk add icu-libs krb5-libs libgcc libintl libssl1.1 libstdc++ zlib cargo",
137-
"sudo apk add libgdiplus --repository http://dl-cdn.alpinelinux.org/alpine/v3.18/community"
138-
]
139-
140129
if args.internal:
141130
# Run inside a python venv
142131
if args.os_group == "windows":
@@ -146,7 +135,7 @@ def get_pre_commands(args: RunPerformanceJobArgs, v8_version: str):
146135
"echo on" # venv activate script turns echo off, so turn it back on
147136
]
148137
else:
149-
if args.os_group != "osx" and args.os_sub_group != "_musl":
138+
if args.os_group != "osx":
150139
install_prerequisites += [
151140
'echo "** Waiting for dpkg to unlock (up to 2 minutes) **"',
152141
'timeout 2m bash -c \'while sudo fuser /var/lib/dpkg/lock-frontend >/dev/null 2>&1; do if [ -z "$printed" ]; then echo "Waiting for dpkg lock to be released... Lock is held by: $(ps -o cmd= -p $(sudo fuser /var/lib/dpkg/lock-frontend))"; printed=1; fi; echo "Waiting 5 seconds to check again"; sleep 5; done;\'',
@@ -178,7 +167,7 @@ def get_pre_commands(args: RunPerformanceJobArgs, v8_version: str):
178167

179168
# Install prereqs for NodeJS https://github.com/dotnet/runtime/pull/40667
180169
# TODO: is this still needed? It seems like it was added to support wasm which is already setting up everything
181-
if args.os_group != "windows" and args.os_group != "osx" and args.os_sub_group != "_musl":
170+
if args.os_group != "windows" and args.os_group != "osx":
182171
install_prerequisites += [
183172
"sudo apt-get update",
184173
"sudo apt -y install curl dirmngr apt-transport-https lsb-release ca-certificates"
@@ -291,7 +280,7 @@ def get_post_commands(args: RunPerformanceJobArgs):
291280

292281
return helix_post_commands
293282

294-
def logical_machine_to_queue(logical_machine: str, internal: bool, os_group: str, architecture: str, alpine: bool):
283+
def logical_machine_to_queue(logical_machine: str, internal: bool, os_group: str, architecture: str):
295284
if os_group == "windows":
296285
if not internal:
297286
return "Windows.10.Amd64.ClientRS4.DevEx.15.8.Open"
@@ -306,10 +295,7 @@ def logical_machine_to_queue(logical_machine: str, internal: bool, os_group: str
306295
}
307296
return queue_map.get(logical_machine, "Windows.11.Amd64.Tiger.Perf")
308297
else:
309-
if alpine:
310-
# this is the same for both public and internal
311-
return "alpine.amd64.tiger.perf"
312-
elif not internal:
298+
if not internal:
313299
if architecture == "arm64":
314300
return "ubuntu.1804.armarch.open"
315301
else:
@@ -334,11 +320,10 @@ def run_performance_job(args: RunPerformanceJobArgs):
334320
else:
335321
helix_type_suffix = "/wasm"
336322

337-
alpine = args.runtime_type == "coreclr" and args.os_sub_group == "_musl"
338323
if args.queue is None:
339324
if args.logical_machine is None:
340325
raise Exception("Either queue or logical machine must be specifed")
341-
args.queue = logical_machine_to_queue(args.logical_machine, args.internal, args.os_group, args.architecture, alpine)
326+
args.queue = logical_machine_to_queue(args.logical_machine, args.internal, args.os_group, args.architecture)
342327

343328
if args.performance_repo_ci:
344329
# needs to be unique to avoid logs overwriting in mc.dot.net

0 commit comments

Comments
 (0)