diff --git a/eng/performance/sdk_scenarios.proj b/eng/performance/sdk_scenarios.proj index de335da3aab..c5ccce55bd7 100644 --- a/eng/performance/sdk_scenarios.proj +++ b/eng/performance/sdk_scenarios.proj @@ -12,7 +12,8 @@ - + + diff --git a/eng/pipelines/templates/runtime-perf-job.yml b/eng/pipelines/templates/runtime-perf-job.yml index 090703acb68..99c63d8e159 100644 --- a/eng/pipelines/templates/runtime-perf-job.yml +++ b/eng/pipelines/templates/runtime-perf-job.yml @@ -1,7 +1,7 @@ parameters: steps: [] variables: [] - framework: net10.0 # Specify the appropriate framework when running release branches (ie net6.0 for release/6.0) + framework: net11.0 # Specify the appropriate framework when running release branches (ie net6.0 for release/6.0) buildConfig: '' archType: '' osGroup: '' diff --git a/global.net10.json b/global.net10.json new file mode 100644 index 00000000000..1d7aa9f4829 --- /dev/null +++ b/global.net10.json @@ -0,0 +1,17 @@ +{ + "sdk": { + "version": "10.0.100", + "allowPrerelease": true, + "rollForward": "latestMinor" + }, + "tools": { + "dotnet": "10.0.100" + }, + "msbuild-sdks": { + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25604.105", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.25604.105" + }, + "native-tools": { + "python3": "3.7.1" + } +} diff --git a/scripts/ci_setup.py b/scripts/ci_setup.py index 18952438226..db3996b6fcd 100644 --- a/scripts/ci_setup.py +++ b/scripts/ci_setup.py @@ -377,6 +377,10 @@ def main(args: CiSetupArgs): dotnet.setup_dotnet(args.dotnet_path) framework = ChannelMap.get_target_framework_moniker(args.channel) + 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) diff --git a/scripts/dotnet.py b/scripts/dotnet.py index e12e1163fd6..5e4874fe886 100755 --- a/scripts/dotnet.py +++ b/scripts/dotnet.py @@ -83,6 +83,8 @@ def get_target_framework_moniker(framework: str) -> str: return 'net9.0' if framework == 'nativeaot10.0': return 'net10.0' + if framework == 'nativeaot11.0': + return 'net11.0' else: return framework diff --git a/scripts/micro_benchmarks.py b/scripts/micro_benchmarks.py index 40a4b821e55..a92fde9261e 100755 --- a/scripts/micro_benchmarks.py +++ b/scripts/micro_benchmarks.py @@ -269,6 +269,8 @@ def __get_benchmarkdotnet_arguments(framework: str, args: Any) -> list[str]: run_args += ['--runtimes', 'wasmnet90'] elif framework == "net10.0": run_args += ['--runtimes', 'wasmnet10_0'] + elif framework == "net11.0": + run_args += ['--runtimes', 'wasmnet11_0'] else: raise ArgumentTypeError('Framework {} is not supported for wasm'.format(framework)) diff --git a/src/benchmarks/micro/MicroBenchmarks.csproj b/src/benchmarks/micro/MicroBenchmarks.csproj index 1126ea9ca05..4bf23cd37f2 100644 --- a/src/benchmarks/micro/MicroBenchmarks.csproj +++ b/src/benchmarks/micro/MicroBenchmarks.csproj @@ -2,7 +2,7 @@ - net6.0;net7.0;net8.0;net9.0;net10.0 + net6.0;net7.0;net8.0;net9.0;net10.0;net11.0 $(SupportedTargetFrameworks);net472 $(PERFLAB_TARGET_FRAMEWORKS) diff --git a/src/benchmarks/micro/README.md b/src/benchmarks/micro/README.md index e9ac9733d60..26b2a7f98f2 100644 --- a/src/benchmarks/micro/README.md +++ b/src/benchmarks/micro/README.md @@ -12,38 +12,38 @@ To learn more about designing benchmarks, please read [Microbenchmark Design Gui ## Quick Start -The first thing that you need to choose is the Target Framework. Available options are: `netcoreapp3.1|net6.0|net7.0|net8.0|net9.0|net10.0|net472`. You can specify the target framework using `-f|--framework` argument. For the sake of simplicity, all examples below use `net10.0` as the target framework. +The first thing that you need to choose is the Target Framework. Available options are: `netcoreapp3.1|net6.0|net7.0|net8.0|net9.0|net10.0|net11.0|net472`. You can specify the target framework using `-f|--framework` argument. For the sake of simplicity, all examples below use `net11.0` as the target framework. The following commands are run from the `src/benchmarks/micro` directory. To run the benchmarks in Interactive Mode, where you will be asked which benchmark(s) to run: ```cmd -dotnet run -c Release -f net10.0 +dotnet run -c Release -f net11.0 ``` To list all available benchmarks ([read more](../../../docs/benchmarkdotnet.md#Listing-the-Benchmarks)): ```cmd -dotnet run -c Release -f net10.0 --list flat|tree +dotnet run -c Release -f net11.0 --list flat|tree ``` To filter the benchmarks using a glob pattern applied to namespace.typeName.methodName ([read more](../../../docs/benchmarkdotnet.md#Filtering-the-Benchmarks)): ```cmd -dotnet run -c Release -f net10.0 --filter *Span* +dotnet run -c Release -f net11.0 --filter *Span* ``` To profile the benchmarked code and produce an ETW Trace file ([read more](../../../docs/benchmarkdotnet.md#Profiling)): ```cmd -dotnet run -c Release -f net10.0 --filter $YourFilter --profiler ETW +dotnet run -c Release -f net11.0 --filter $YourFilter --profiler ETW ``` To run the benchmarks for multiple runtimes ([read more](../../../docs/benchmarkdotnet.md#Multiple-Runtimes)): ```cmd -dotnet run -c Release -f net8.0 --filter * --runtimes net8.0 net10.0 +dotnet run -c Release -f net10.0 --filter * --runtimes net10.0 net11.0 ``` ## Private Runtime Builds @@ -51,14 +51,14 @@ dotnet run -c Release -f net8.0 --filter * --runtimes net8.0 net10.0 If you contribute to [dotnet/runtime](https://github.com/dotnet/runtime) and want to benchmark **local builds of .NET Core** you need to build [dotnet/runtime](https://github.com/dotnet/runtime) in Release (including tests - so a command similar to `build clr+libs+libs.tests -rc release -lc release`) and then provide the path(s) to CoreRun(s). Provided CoreRun(s) will be used to execute every benchmark in a dedicated process: ```cmd -dotnet run -c Release -f net10.0 --filter $YourFilter \ +dotnet run -c Release -f net11.0 --filter $YourFilter \ --corerun C:\git\runtime\artifacts\bin\testhost\net10.0-windows-Release-x64\shared\Microsoft.NETCore.App\9.0.0\CoreRun.exe ``` To make sure that your changes don't introduce any regressions, you can provide paths to CoreRuns with and without your changes and use the Statistical Test feature to detect regressions/improvements ([read more](../../../docs/benchmarkdotnet.md#Regressions)): ```cmd -dotnet run -c Release -f net10.0 \ +dotnet run -c Release -f net11.0 \ --filter BenchmarksGame* \ --statisticalTest 3ms \ --coreRun \ diff --git a/src/scenarios/build-common/Blazor.PackageVersions.props b/src/scenarios/build-common/Blazor.PackageVersions.props index 91ea97d759c..9c44246c6d0 100644 --- a/src/scenarios/build-common/Blazor.PackageVersions.props +++ b/src/scenarios/build-common/Blazor.PackageVersions.props @@ -1,4 +1,9 @@ + + 11.0.0-* + 11.0.0-* + 11.0.0-* + 10.0.0-* 10.0.0-* @@ -26,26 +31,4 @@ 6.0.0-preview* 6.0.0-preview* - - - - 10.0.0-* - - - - - - - - - - - - - - diff --git a/src/scenarios/shared/mauisharedpython.py b/src/scenarios/shared/mauisharedpython.py index 0affb1899eb..05ad5c9980d 100644 --- a/src/scenarios/shared/mauisharedpython.py +++ b/src/scenarios/shared/mauisharedpython.py @@ -21,7 +21,7 @@ def generate_maui_rollback_dict(target_framework: str): This eliminates the need to maintain MAUI dependencies in the performance repo's Version.Details.xml. Args: - target_framework: Target framework to determine which MAUI branch to use (e.g., "net10.0") + target_framework: Target framework to determine which MAUI branch to use (e.g., "net11.0") Returns: Dictionary mapping rollback package names to version/band strings @@ -159,13 +159,13 @@ def extract_latest_dotnet_feed_from_nuget_config(path: str, offset: int = 0) -> return target_feed -def download_maui_nuget_config(target_framework: str = "net10.0", output_filename: str = "MauiNuGet.config") -> str: +def download_maui_nuget_config(target_framework: str = "net11.0", output_filename: str = "MauiNuGet.config") -> str: ''' Download MAUI's NuGet.config from the appropriate branch. Returns the path to the downloaded config file. Args: - target_framework: Target framework to determine which branch to use (e.g., "net10.0") + target_framework: Target framework to determine which branch to use (e.g., "net11.0") output_filename: Name of the file to save the downloaded config ''' # Extract base framework version (e.g., "net10.0" from "net10.0-android") diff --git a/src/tests/harness/BenchmarkDotNet.Extensions.Tests/BenchmarkDotNet.Extensions.Tests.csproj b/src/tests/harness/BenchmarkDotNet.Extensions.Tests/BenchmarkDotNet.Extensions.Tests.csproj index 8cd149e121e..796d014d367 100644 --- a/src/tests/harness/BenchmarkDotNet.Extensions.Tests/BenchmarkDotNet.Extensions.Tests.csproj +++ b/src/tests/harness/BenchmarkDotNet.Extensions.Tests/BenchmarkDotNet.Extensions.Tests.csproj @@ -1,7 +1,7 @@  - net10.0 + net11.0 false enable diff --git a/src/tools/Reporting/Reporting.Tests/Reporting.Tests.csproj b/src/tools/Reporting/Reporting.Tests/Reporting.Tests.csproj index e29084f4e00..28e90cbca3e 100644 --- a/src/tools/Reporting/Reporting.Tests/Reporting.Tests.csproj +++ b/src/tools/Reporting/Reporting.Tests/Reporting.Tests.csproj @@ -1,11 +1,11 @@  - net10.0 + net11.0 false - + diff --git a/src/tools/ResultsComparer/Data.cs b/src/tools/ResultsComparer/Data.cs index b1934d856db..3a61ad01a03 100644 --- a/src/tools/ResultsComparer/Data.cs +++ b/src/tools/ResultsComparer/Data.cs @@ -162,6 +162,10 @@ private static string GetMoniker(string key) return "net10.0"; if (key.StartsWith("nativeaot10.0")) return key; + if (key.StartsWith("net11.0")) + return "net11.0"; + if (key.StartsWith("nativeaot11.0")) + return key; return null; }