Skip to content

Conversation

@LoopedBard3
Copy link
Member

@LoopedBard3 LoopedBard3 commented Dec 10, 2025

Updated some more perf repo references based on #4610 for net11.

Mostly consists of adding net11 checks where we already were checking for net10 and updating some net10 defaults to point to net11. A side effect of this includes fixing micro-mono runs in the dotnet-runtime-performance pipeline.

dotnet-runtime-perf test run: https://dev.azure.com/dnceng/internal/_build/results?buildId=2858509&view=results.

This does not fix the wasm runs which need a BDN update after BDN adds net11 support for wasm runtime, but it also does not make it worse. Current error from test run:

[2025/12/10 15:13:04][INFO] $ dotnet exec MicroBenchmarks.dll --anyCategories Libraries Runtime --wasmEngine /home/helixbot/.jsvu/bin/v8-14.2.231 "--wasmArgs=--expose_wasm --module" --cli /home/helixbot/work/983D087E/p/dotnet/dotnet --wasmDataDir /home/helixbot/work/983D087E/p/wasm-data --category-exclusion-filter NoMono NoWASM NoInterpreter --logBuildOutput --generateBinLog --filter System.Tests.Perf_* --partition-count 15 --partition-index 0 --artifacts /home/helixbot/work/983D087E/w/A985090B/uploads/BenchmarkDotNet.Artifacts --packages /home/helixbot/work/983D087E/w/A985090B/e/performance/artifacts/packages --runtimes wasmnet11_0 --buildTimeout 1200
[2025/12/10 15:13:04][INFO] The provided runtime "wasmnet11_0" is invalid. Available options are: hostprocess, notrecognized, mono, net461, net462, net47, net471, net472, net48, net481, netcoreapp20, netcoreapp21, netcoreapp22, netcoreapp30, netcoreapp31, netcoreapp50, net50, net60, net70, net80, net90, net10_0, nativeaot60, nativeaot70, nativeaot80, nativeaot90, nativeaot10_0, wasm, wasmnet50, wasmnet60, wasmnet70, wasmnet80, wasmnet90, wasmnet10_0, monoaotllvm, monoaotllvmnet60, monoaotllvmnet70, monoaotllvmnet80, monoaotllvmnet90, monoaotllvmnet10_0, mono60, mono70, mono80, mono90, mono10_0.
[2025/12/10 15:13:04][INFO] $ popd
[2025/12/10 15:13:04][WARNING] Benchmark run for framework 'net11.0' contains errors

@LoopedBard3 LoopedBard3 self-assigned this Dec 10, 2025
@LoopedBard3 LoopedBard3 added the dependencies Pull requests that update a dependency file label Dec 10, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates references across the performance repository to add support for the net11.0 framework, building upon changes from #4610. The key change is fixing the argparse.ArgumentTypeError: Framework net11.0 is not supported for wasm error in WASM dotnet-runtime-performance pipeline runs.

Key changes:

  • Adds net11.0 to supported target frameworks across project files and documentation
  • Updates documentation examples to use net11.0 instead of net10.0
  • Adds wasmnet11_0 runtime support to fix WASM pipeline errors

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/scenarios/build-common/Blazor.PackageVersions.props Adds PropertyGroup with package version definitions for net11.0 framework
src/benchmarks/micro/README.md Updates documentation examples to reference net11.0 as the current framework version
src/benchmarks/micro/MicroBenchmarks.csproj Adds net11.0 to the list of supported target frameworks
scripts/micro_benchmarks.py Adds wasmnet11_0 runtime mapping for net11.0 framework to fix WASM pipeline error
scripts/ci_setup.py Adds net10.0 framework handling with global.net10.json file copying
global.net10.json New configuration file defining SDK version and tooling for net10.0
Comments suppressed due to low confidence (1)

scripts/ci_setup.py:394

  • Missing handling for net11.0 framework. The PR adds net11.0 support throughout the codebase, and similar handling exists for net10.0, net9.0, and net8.0 in lines 381-394. Consider adding a corresponding block to handle net11.0 and nativeaot11.0 frameworks (which would require a global.net11.json file), or verify if net11.0 should intentionally use the default global.json. The 'main' channel in ChannelMap maps to 'net11.0', so this will affect main branch CI runs.
    if framework in ('net10.0', 'nativeaot10.0'):
        global_json_path = os.path.join(get_repo_root_path(), 'global.json')
        shutil.copy(os.path.join(get_repo_root_path(), 'global.net10.json'), global_json_path)
        getLogger().info('Overwrote global.json with global.net10.json')
        
    if framework in ('net9.0', 'nativeaot9.0'):
        global_json_path = os.path.join(get_repo_root_path(), 'global.json')
        shutil.copy(os.path.join(get_repo_root_path(), 'global.net9.json'), global_json_path)
        getLogger().info('Overwrote global.json with global.net9.json')
        
    if framework in ('net8.0', 'nativeaot8.0'):
        global_json_path = os.path.join(get_repo_root_path(), 'global.json')
        shutil.copy(os.path.join(get_repo_root_path(), 'global.net8.json'), global_json_path)
        getLogger().info('Overwrote global.json with global.net8.json')

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@DrewScoggins
Copy link
Member

Should we also add the net10.0 runs in the performance CI as part of this PR?

@LoopedBard3 LoopedBard3 marked this pull request as draft December 10, 2025 21:09
@LoopedBard3
Copy link
Member Author

Yes, that makes sense. Went ahead and added those along with a handful of other changes.

@LoopedBard3 LoopedBard3 force-pushed the AnotherSetOfNet11Updates branch from 3b3c6bb to 7fb2ff2 Compare December 10, 2025 22:46
@LoopedBard3
Copy link
Member Author

Gave the net10 runs a shot and they were failing due to /__w/1/s/performance/src/tools/CertHelper/CertHelper.csproj : error NU1102: Unable to find package Microsoft.NETCore.App.Runtime.linux-x64 with version (= 10.0.2) so I removed that part of the update for now.

@LoopedBard3
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@LoopedBard3 LoopedBard3 changed the title Updated some more perf repo references Updated some more perf repo references for net11 Dec 10, 2025
@LoopedBard3 LoopedBard3 marked this pull request as ready for review December 10, 2025 23:24
@LoopedBard3
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@LoopedBard3
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@DrewScoggins DrewScoggins self-requested a review December 11, 2025 00:45
Copy link
Member

@DrewScoggins DrewScoggins left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@LoopedBard3 LoopedBard3 merged commit f7d7e64 into dotnet:main Dec 11, 2025
35 of 40 checks passed
@LoopedBard3 LoopedBard3 deleted the AnotherSetOfNet11Updates branch December 11, 2025 01:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants