From 7aa3580dc46a9fb0b0d8897f20fdf21e594dd393 Mon Sep 17 00:00:00 2001 From: Oliver Schantz Date: Wed, 10 Dec 2025 22:31:12 +0100 Subject: [PATCH 1/2] Expand framework targets to .NET 10.0, 9.0, and 8.0 while adjusting language version handling; add `CancellationToken` to DefaultCommand.Execute signature. --- .../SingleCommand/Commands/DefaultCommand.cs | 2 +- src/Samples/SingleCommand/SingleCommand.csproj | 2 +- .../Spectre.Console.Extensions.Hosting.csproj | 15 +++++++++++++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/Samples/SingleCommand/Commands/DefaultCommand.cs b/src/Samples/SingleCommand/Commands/DefaultCommand.cs index 7fda2f8..4f6c241 100644 --- a/src/Samples/SingleCommand/Commands/DefaultCommand.cs +++ b/src/Samples/SingleCommand/Commands/DefaultCommand.cs @@ -13,7 +13,7 @@ public DefaultCommand(IGreeter greeter) _greeter = greeter ?? throw new ArgumentNullException(nameof(greeter)); } - public override int Execute([NotNull] CommandContext context, [NotNull] Settings settings) + public override int Execute([NotNull] CommandContext context, [NotNull] Settings settings, [NotNull] CancellationToken cancellationToken) { _greeter.Greet(settings.Name); return 0; diff --git a/src/Samples/SingleCommand/SingleCommand.csproj b/src/Samples/SingleCommand/SingleCommand.csproj index 64aa028..de53612 100644 --- a/src/Samples/SingleCommand/SingleCommand.csproj +++ b/src/Samples/SingleCommand/SingleCommand.csproj @@ -2,7 +2,7 @@ Exe - net6.0 + net10.0 enable enable SingleCommand diff --git a/src/Spectre.Console.Extensions.Hosting/Spectre.Console.Extensions.Hosting.csproj b/src/Spectre.Console.Extensions.Hosting/Spectre.Console.Extensions.Hosting.csproj index 08ba4fa..eab4e94 100644 --- a/src/Spectre.Console.Extensions.Hosting/Spectre.Console.Extensions.Hosting.csproj +++ b/src/Spectre.Console.Extensions.Hosting/Spectre.Console.Extensions.Hosting.csproj @@ -1,12 +1,23 @@  - net7.0;net6.0;netstandard2.0 - 10 + net10.0;net9.0;net8.0;net7.0;net6.0;netstandard2.0 true enable Spectre.Console.Extensions.Hosting + + + + 10 + + + + + default + + + 2022 $([System.DateTime]::Today.Year) From 445820c0cb2e613d505075f1cb64e750e4541c86 Mon Sep 17 00:00:00 2001 From: Oliver Schantz Date: Thu, 11 Dec 2025 09:46:38 +0100 Subject: [PATCH 2/2] Update SDK, workflows, and project configuration for compatibility with .NET 10 and latest environments --- .github/workflows/build.yml | 17 ++++++++++------- global.json | 2 +- src/Spectre.Console.Extensions.Hosting.sln | 7 +++++++ 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0ed5754..bb972dd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -21,7 +21,7 @@ jobs: if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository strategy: matrix: - os: [ windows-2022, ubuntu-22.04, macos-12 ] + os: [ windows-2022, ubuntu-24.04, macos-14 ] env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} @@ -30,12 +30,12 @@ jobs: steps: - name: Checkout the repository - uses: actions/checkout@v3 + uses: actions/checkout@v4.2.2 - name: Fetch all tags and branches run: git fetch --prune --unshallow - - uses: actions/setup-dotnet@v3.4.2 + - uses: actions/setup-dotnet@v4.1.0 with: dotnet-version: | 2.1.818 @@ -43,22 +43,25 @@ jobs: 5.0.x 6.0.x 7.0.x + 8.0.x + 9.0.x + 10.0.x - name: Cache Tools - uses: actions/cache@v3 + uses: actions/cache@v4.1.0 with: path: tools key: ${{ runner.os }}-tools-${{ hashFiles('recipe.cake') }} - name: Build project - uses: cake-build/cake-action@v1 + uses: cake-build/cake-action@v3.0.1 with: script-path: recipe.cake target: CI cake-version: 1.3.0 - name: Upload Issues - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4.3.3 with: if-no-files-found: warn name: ${{ matrix.os }} Issues @@ -67,7 +70,7 @@ jobs: BuildArtifacts/**/coverlet/*.xml - name: Upload Packages - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4.3.3 if: runner.os == 'Windows' with: if-no-files-found: warn diff --git a/global.json b/global.json index faaee0b..e15f454 100644 --- a/global.json +++ b/global.json @@ -2,7 +2,7 @@ "projects": [ "src" ], "sdk": { "allowPrerelease": true, - "version": "7.0.410", + "version": "10.0.0", "rollForward": "latestFeature" } } diff --git a/src/Spectre.Console.Extensions.Hosting.sln b/src/Spectre.Console.Extensions.Hosting.sln index 183bd21..d1043c4 100644 --- a/src/Spectre.Console.Extensions.Hosting.sln +++ b/src/Spectre.Console.Extensions.Hosting.sln @@ -6,6 +6,13 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SingleCommand", "Samples\Si EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{3EEF9DAB-A839-40AB-B67A-54A88D753B21}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{47DE6B49-FEDA-4921-AC0E-5F5CD0C4796B}" + ProjectSection(SolutionItems) = preProject + ..\global.json = ..\global.json + ..\.github\renovate.json = ..\.github\renovate.json + ..\.github\workflows\build.yml = ..\.github\workflows\build.yml + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU