Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
9 changes: 6 additions & 3 deletions build/crossgen2-scenarios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,12 @@ parameters:
- displayName: Default
arguments: --property profile=default
condition: 'true'
# Disabled: consistently fails with ILCompiler.CodeGenerationFailedException (IndexOutOfRangeException
# in CorInfoImpl.HandleToModuleToken) during the crossgen2 composite publish, and on Windows runs has
# caused crank to hang, blocking the rest of the jobs in the pipeline.
# Disabled: fails with ILCompiler.CodeGenerationFailedException (IndexOutOfRangeException
# in CorInfoImpl.HandleToModuleToken) during the crossgen2 composite publish, and on
# Windows runs causes crank to hang, blocking the rest of the jobs in the pipeline.
# Root cause fixed by dotnet/runtime#129053 (composite R2R token corruption for
# devirtualized async-variant callees, merged 2026-06-06). Re-enable once that fix
# flows into the .NET 11 SDK consumed by the benchmark agents.
- displayName: CG2 composite # since 6.0-preview4 CG2 is the default when PublishReadyToRun=true is set
arguments: --property profile=composite --application.buildArguments \"/p:PublishReadyToRun=true /p:PublishReadyToRunComposite=true /p:PublishReadyToRunUseCrossgen2=true \"
condition: 'false'
Expand Down
13 changes: 10 additions & 3 deletions build/nativeaot-scenarios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,10 @@ parameters:

- displayName: Goldilocks Stage 1 (CoreCLR - Trim R2R SingleFile)
arguments: --scenario basicminimalapipublishtrimr2rsinglefile $(goldilocksJobs) --property scenario=Stage1TrimR2RSingleFile --property publish=coreclr --application.environmentVariables DOTNET_GCDynamicAdaptationMode=1
condition: 'true'
# Disabled: hits dotnet/runtime crossgen2 composite R2R bug on async-variant callees
# (Kestrel Http1ChunkedEncodingMessageBody.PumpAsync). Re-enable once
# https://github.com/dotnet/runtime/pull/129053 flows into the .NET 11 SDK.
condition: 'false'

- displayName: Goldilocks Stage 1 (NativeAOT)
# workaround https://github.com/dotnet/runtime/issues/81382 by explicitly referencing a Microsoft.DotNet.ILCompiler version
Expand Down Expand Up @@ -70,7 +73,9 @@ parameters:

- displayName: Goldilocks Stage 2 (CoreCLR - Trim R2R SingleFile)
arguments: --scenario todosapipublishtrimr2rsinglefile $(goldilocksJobs) --property scenario=Stage2TrimR2RSingleFile --property publish=coreclr --application.environmentVariables DOTNET_GCDynamicAdaptationMode=1
condition: 'true'
# Disabled: see note on "Goldilocks Stage 1 (CoreCLR - Trim R2R SingleFile)" above.
# Re-enable once https://github.com/dotnet/runtime/pull/129053 flows into the .NET 11 SDK.
condition: 'false'

- displayName: Goldilocks Stage 2 (NativeAOT)
# workaround https://github.com/dotnet/runtime/issues/81382 by explicitly referencing a Microsoft.DotNet.ILCompiler version
Expand Down Expand Up @@ -106,7 +111,9 @@ parameters:

- displayName: Goldilocks gRPC Stage 1 (CoreCLR - Trim R2R SingleFile)
arguments: --scenario basicgrpcpublishtrimr2rsinglefile $(goldilocksJobs) --property scenario=Stage1GrpcTrimR2RSingleFile --property publish=coreclr --application.environmentVariables DOTNET_GCDynamicAdaptationMode=1
condition: 'true'
# Disabled: see note on "Goldilocks Stage 1 (CoreCLR - Trim R2R SingleFile)" above.
# Re-enable once https://github.com/dotnet/runtime/pull/129053 flows into the .NET 11 SDK.
condition: 'false'

- displayName: Goldilocks gRPC Stage 1 (NativeAOT)
# workaround https://github.com/dotnet/runtime/issues/81382 by explicitly referencing a Microsoft.DotNet.ILCompiler version
Expand Down
15 changes: 14 additions & 1 deletion build/singlefile-scenarios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,17 +32,30 @@ parameters:

- displayName: Self-contained
arguments: --application.buildArguments \"/p:PublishReadyToRun=true /p:PublishSingleFile=false\" --property mode=SelfContained
condition: 'true'
# Disabled: hangs / fails with ILCompiler.CodeGenerationFailedException
# (IndexOutOfRangeException in CorInfoImpl.HandleToModuleToken) during the
# crossgen2 composite publish on .NET 11 preview SDKs predating
# dotnet/runtime#129053 ("Fix composite R2R token corruption for devirtualized
# async-variant callees", merged 2026-06-06). Re-enable once that fix flows
# into the SDK consumed by the benchmark agents.
- displayName: Single-file
arguments: --application.buildArguments \"/p:PublishReadyToRun=true /p:PublishSingleFile=true\" --property mode=SingleFile
condition: 'false'
- displayName: Trimmed
arguments: --application.buildArguments \"/p:PublishReadyToRun=true /p:PublishSingleFile=true /p:PublishTrimmed=true\" --property mode=Trimmed
condition: 'false'
- displayName: AOT
# workaround https://github.com/dotnet/runtime/issues/81382 by explicitly referencing a Microsoft.DotNet.ILCompiler version
arguments: --application.buildArguments \"/p:PublishAot=true /p:StripSymbols=true\" --property mode=Aot --application.packageReferences \"Microsoft.DotNet.ILCompiler=$(MicrosoftNETCoreAppPackageVersion)\"
condition: 'true'
# Disabled: see note on "Single-file" above (dotnet/runtime#129053).
- displayName: R2RComposite-Windows
arguments: --application.buildArguments \"/p:PublishReadyToRun=true /p:PublishReadyToRunComposite=true /p:PublishSingleFile=true /p:RuntimeIdentifier=win-x64\" --property mode=R2RComposite --property rid=win-x64 --application.options.requiredOperatingSystem windows
condition: 'false'
- displayName: R2RComposite-Linux
arguments: --application.buildArguments \"/p:PublishReadyToRun=true /p:PublishReadyToRunComposite=true /p:PublishSingleFile=true /p:RuntimeIdentifier=linux-x64\" --property mode=R2RComposite --property rid=linux-x64 --application.options.requiredOperatingSystem linux
condition: 'false'

steps:
- ${{ each s in parameters.scenarios }}:
Expand All @@ -60,6 +73,6 @@ steps:
messageBody: |
{
"name": "crank",
"condition": "(${{ parameters.condition }})",
"condition": "(${{ parameters.condition }}) && (${{ mode.condition }})",
"args": [ "${{ s.arguments }} ${{ mode.arguments }} ${{ parameters.arguments }} --application.framework net11.0 --application.options.collectCounters true --no-metadata --no-measurements --load.options.reuseBuild true --session $(session) --description \"${{ s.displayName }} ${{ mode.displayName }} $(System.JobDisplayName)\" --property buildId=\"$(buildId)\" --property buildNumber=\"$(buildNumber)\" --command-line-property --table SingleFileBenchmarks --sql SQL_CONNECTION_STRING --cert-tenant-id SQL_SERVER_TENANTID --cert-client-id SQL_SERVER_CLIENTID --cert-path SQL_SERVER_CERT_PATH --cert-sni --chart" ]
}
Loading