From 5b4599236452591c66f9d3bfaa8bd4300b1b213a Mon Sep 17 00:00:00 2001 From: "F.D.Castel" Date: Sat, 7 Nov 2026 10:31:53 -0300 Subject: [PATCH] Add net11.0 target framework - Provider: add net11.0 to TargetFrameworks. No Microsoft.Extensions.Logging.Abstractions package reference is needed for net11.0: the assembly ships in the .NET 11 shared framework, and NuGet prunes the reference (the nuspec net11.0 group is empty). - Tests: multi-target FirebirdSql.Data.FirebirdClient.Tests to net10.0;net11.0 so TFM-specific code paths are exercised on both. - tests.ps1: copy the Firebird binaries into, and run the FirebirdClient suites from, every provider test TFM output. - CI: install the .NET 11 SDK (preview quality until 11.0 GA). --- .github/workflows/ci.yml | 6 +++++ ...rebirdSql.Data.FirebirdClient.Tests.csproj | 2 +- .../FirebirdSql.Data.FirebirdClient.csproj | 2 +- tests.ps1 | 23 +++++++++++-------- 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 34f49d975..627da8c83 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,6 +24,12 @@ jobs: with: dotnet-version: 10.0.x + - name: .NET 11.0 + uses: actions/setup-dotnet@v5 + with: + dotnet-version: 11.0.x + dotnet-quality: preview + - name: Build run: | try { diff --git a/src/FirebirdSql.Data.FirebirdClient.Tests/FirebirdSql.Data.FirebirdClient.Tests.csproj b/src/FirebirdSql.Data.FirebirdClient.Tests/FirebirdSql.Data.FirebirdClient.Tests.csproj index ff0b4ae13..2f7921b1d 100644 --- a/src/FirebirdSql.Data.FirebirdClient.Tests/FirebirdSql.Data.FirebirdClient.Tests.csproj +++ b/src/FirebirdSql.Data.FirebirdClient.Tests/FirebirdSql.Data.FirebirdClient.Tests.csproj @@ -1,6 +1,6 @@  - net10.0 + net10.0;net11.0 false false true diff --git a/src/FirebirdSql.Data.FirebirdClient/FirebirdSql.Data.FirebirdClient.csproj b/src/FirebirdSql.Data.FirebirdClient/FirebirdSql.Data.FirebirdClient.csproj index a040e0613..4e5914a57 100644 --- a/src/FirebirdSql.Data.FirebirdClient/FirebirdSql.Data.FirebirdClient.csproj +++ b/src/FirebirdSql.Data.FirebirdClient/FirebirdSql.Data.FirebirdClient.csproj @@ -1,6 +1,6 @@  - net8.0;net9.0;net10.0 + net8.0;net9.0;net10.0;net11.0 FirebirdSql.Data.FirebirdClient FirebirdSql.Data true diff --git a/tests.ps1 b/tests.ps1 index 6af9ac102..93b6d8a4b 100644 --- a/tests.ps1 +++ b/tests.ps1 @@ -29,8 +29,8 @@ $FirebirdConfiguration = @{ } $frameworkVersion = 'net10.0' +$providerTestsFrameworkVersions = @('net10.0', 'net11.0') $testsBaseDir = "$baseDir\src\FirebirdSql.Data.FirebirdClient.Tests" -$testsProviderDir = "$testsBaseDir\bin\$Configuration\$frameworkVersion" $firebirdProcess = $null @@ -59,7 +59,9 @@ function Prepare() { echo "Extracting $fbDownloadName" 7z x -bsp0 -bso0 $fbDownloadName rm $fbDownloadName - cp -Recurse -Force .\* $testsProviderDir + foreach ($providerTestsFrameworkVersion in $providerTestsFrameworkVersions) { + cp -Recurse -Force .\* "$testsBaseDir\bin\$Configuration\$providerTestsFrameworkVersion" + } ni firebird.log -ItemType File | Out-Null @@ -120,13 +122,16 @@ function Tests-FirebirdClient-Embedded() { Tests-FirebirdClient 'Embedded' $False 'Disabled' } function Tests-FirebirdClient($serverType, $compression, $wireCrypt) { - pushd $testsProviderDir - try { - .\FirebirdSql.Data.FirebirdClient.Tests.exe --labels=All "--where=(ServerType==$serverType && Compression==$compression && WireCrypt==$wireCrypt) || Category==NoServer" - Check-ExitCode - } - finally { - popd + foreach ($providerTestsFrameworkVersion in $providerTestsFrameworkVersions) { + echo "=== FirebirdClient tests ($providerTestsFrameworkVersion) ===" + pushd "$testsBaseDir\bin\$Configuration\$providerTestsFrameworkVersion" + try { + .\FirebirdSql.Data.FirebirdClient.Tests.exe --labels=All "--where=(ServerType==$serverType && Compression==$compression && WireCrypt==$wireCrypt) || Category==NoServer" + Check-ExitCode + } + finally { + popd + } } }