From 76e71bd546effc241e3551d4f6a09e7ce5e373c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20L=2E=20Charlier?= Date: Mon, 25 Nov 2024 20:59:44 +0100 Subject: [PATCH] feat: release for .NET 9.0 (#1234) * chore: prepare for support of net9.0 * test: run QA for all supported versions of .NET * feat: version compatible with .NET 9.0 (#1224) * chore: include System.Json.Text in dependabot.yml * ci: install .NET 9.0 in appveyor --- .github/dependabot.yml | 3 ++- Directory.Build.props | 2 +- DubUrl.Adomd/DubUrl.Adomd.csproj | 4 ++-- .../DubUrl.Extensions.Testing.csproj | 4 ++-- DubUrl.Extensions/DubUrl.Extensions.csproj | 4 ++-- DubUrl.OleDb/DubUrl.OleDb.csproj | 4 ++-- DubUrl.QA/CockRoach/deploy-cockroach-test-env.ps1 | 4 ++-- DubUrl.QA/Drill/deploy-drill-test-env.ps1 | 4 ++-- DubUrl.QA/DubUrl.QA.csproj | 14 ++++++++------ DubUrl.QA/DuckDB/deploy-duckdb-test-env.ps1 | 2 +- .../FirebirdSQL/deploy-firebirdsql-test-env.ps1 | 4 ++-- DubUrl.QA/MsAccess/deploy-msaccess-test-env.ps1 | 2 +- DubUrl.QA/MsExcel/deploy-msexcel-test-env.ps1 | 4 ++-- .../MsSqlServer/deploy-mssqlserver-test-env.ps1 | 4 ++-- DubUrl.QA/Mysql/deploy-mysql-test-env.ps1 | 4 ++-- .../Postgresql/deploy-postgresql-test-env.ps1 | 2 +- .../deploy-powerbidesktop-test-env.ps1 | 2 +- DubUrl.QA/QuestDB/deploy-questdb-test-env.ps1 | 4 ++-- DubUrl.QA/Run-TestSuite.ps1 | 2 +- .../SingleStore/deploy-singlestore-test-env.ps1 | 2 +- DubUrl.QA/Sqlite/deploy-sqlite-test-env.ps1 | 4 ++-- DubUrl.QA/Text/deploy-text-test-env.ps1 | 4 ++-- DubUrl.QA/Timescale/deploy-timescale-test-env.ps1 | 4 ++-- DubUrl.QA/Trino/deploy-trino-test-env.ps1 | 4 ++-- DubUrl.QA/deploy-test-harness.ps1 | 2 +- DubUrl.Testing/DubUrl.Testing.csproj | 4 ++-- appveyor.yml | 9 +++++++-- 27 files changed, 57 insertions(+), 49 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 5a7ab688..432c1d75 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -67,6 +67,7 @@ updates: Snowflake.Data: patterns: - "Snowflake.Data" - System.Management: + System: patterns: - "System.Management" + - "System.Text.Json" diff --git a/Directory.Build.props b/Directory.Build.props index be8b397f..956b8c04 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -8,7 +8,7 @@ 12.0 - net6.0;net7.0;net8.0 + net6.0;net8.0;net9.0 AnyCPU enable enable diff --git a/DubUrl.Adomd/DubUrl.Adomd.csproj b/DubUrl.Adomd/DubUrl.Adomd.csproj index 828a5245..6f3b72de 100644 --- a/DubUrl.Adomd/DubUrl.Adomd.csproj +++ b/DubUrl.Adomd/DubUrl.Adomd.csproj @@ -3,10 +3,10 @@ - + - + diff --git a/DubUrl.Extensions.Testing/DubUrl.Extensions.Testing.csproj b/DubUrl.Extensions.Testing/DubUrl.Extensions.Testing.csproj index a4bd3cf4..ce7af61a 100644 --- a/DubUrl.Extensions.Testing/DubUrl.Extensions.Testing.csproj +++ b/DubUrl.Extensions.Testing/DubUrl.Extensions.Testing.csproj @@ -1,5 +1,5 @@ - + @@ -8,7 +8,7 @@ - + diff --git a/DubUrl.Extensions/DubUrl.Extensions.csproj b/DubUrl.Extensions/DubUrl.Extensions.csproj index 9d4fb564..526918af 100644 --- a/DubUrl.Extensions/DubUrl.Extensions.csproj +++ b/DubUrl.Extensions/DubUrl.Extensions.csproj @@ -1,6 +1,6 @@ - + @@ -10,7 +10,7 @@ - + diff --git a/DubUrl.OleDb/DubUrl.OleDb.csproj b/DubUrl.OleDb/DubUrl.OleDb.csproj index 6e0ea635..c2346d1f 100644 --- a/DubUrl.OleDb/DubUrl.OleDb.csproj +++ b/DubUrl.OleDb/DubUrl.OleDb.csproj @@ -1,9 +1,9 @@ - + - + diff --git a/DubUrl.QA/CockRoach/deploy-cockroach-test-env.ps1 b/DubUrl.QA/CockRoach/deploy-cockroach-test-env.ps1 index 95a62e0d..d5b2a915 100644 --- a/DubUrl.QA/CockRoach/deploy-cockroach-test-env.ps1 +++ b/DubUrl.QA/CockRoach/deploy-cockroach-test-env.ps1 @@ -1,7 +1,7 @@ Param( [switch] $force=$false , [string] $config = "Release" - , [string[]] $frameworks = @("net6.0", "net7.0") + , [string[]] $frameworks = @("net6.0", "net8.0", "net9.0") ) if ($force) { Write-Host "Enforcing QA testing for CockRoachDB" @@ -49,4 +49,4 @@ if ($force -or ($filesChanged -like "*cockroach*")) { exit $testSuccessful } else { return -1 -} \ No newline at end of file +} diff --git a/DubUrl.QA/Drill/deploy-drill-test-env.ps1 b/DubUrl.QA/Drill/deploy-drill-test-env.ps1 index 470a09c3..31728a74 100644 --- a/DubUrl.QA/Drill/deploy-drill-test-env.ps1 +++ b/DubUrl.QA/Drill/deploy-drill-test-env.ps1 @@ -1,7 +1,7 @@ Param( [switch] $force=$false , [string] $config = "Release" - , [string[]] $frameworks = @("net6.0", "net7.0") + , [string[]] $frameworks = @("net6.0", "net8.0", "net9.0") ) . $PSScriptRoot\..\Run-TestSuite.ps1 . $PSScriptRoot\..\Docker-Container.ps1 @@ -79,4 +79,4 @@ if ($force -or ($filesChanged -like "*drill*")) { exit $testSuccessful } else { return -1 -} \ No newline at end of file +} diff --git a/DubUrl.QA/DubUrl.QA.csproj b/DubUrl.QA/DubUrl.QA.csproj index 3c2d9a2b..53c65a46 100644 --- a/DubUrl.QA/DubUrl.QA.csproj +++ b/DubUrl.QA/DubUrl.QA.csproj @@ -95,28 +95,30 @@ - - - + + + - + + + - + - + diff --git a/DubUrl.QA/DuckDB/deploy-duckdb-test-env.ps1 b/DubUrl.QA/DuckDB/deploy-duckdb-test-env.ps1 index 00754d66..2dd8540a 100644 --- a/DubUrl.QA/DuckDB/deploy-duckdb-test-env.ps1 +++ b/DubUrl.QA/DuckDB/deploy-duckdb-test-env.ps1 @@ -1,7 +1,7 @@ Param( [switch] $force=$false , $config= "Release" - , [string[]] $frameworks = @("net6.0", "net7.0") + , [string[]] $frameworks = @("net6.0", "net8.0", "net9.0") ) . $PSScriptRoot\..\Run-TestSuite.ps1 diff --git a/DubUrl.QA/FirebirdSQL/deploy-firebirdsql-test-env.ps1 b/DubUrl.QA/FirebirdSQL/deploy-firebirdsql-test-env.ps1 index ec70f621..23946adf 100644 --- a/DubUrl.QA/FirebirdSQL/deploy-firebirdsql-test-env.ps1 +++ b/DubUrl.QA/FirebirdSQL/deploy-firebirdsql-test-env.ps1 @@ -3,7 +3,7 @@ Param( , $package= "Firebird-4.0.2.2816-0-x64" , [string] $config= "Release" , [string] $extension = "zip" - , [string[]] $frameworks = @("net6.0", "net7.0") + , [string[]] $frameworks = @("net6.0", "net8.0", "net9.0") ) . $PSScriptRoot\..\Run-TestSuite.ps1 @@ -166,4 +166,4 @@ if ($force -or ($filesChanged -like "*firebird*")) { exit $testSuccessful } else { return -1 -} \ No newline at end of file +} diff --git a/DubUrl.QA/MsAccess/deploy-msaccess-test-env.ps1 b/DubUrl.QA/MsAccess/deploy-msaccess-test-env.ps1 index 099812ce..f56aac00 100644 --- a/DubUrl.QA/MsAccess/deploy-msaccess-test-env.ps1 +++ b/DubUrl.QA/MsAccess/deploy-msaccess-test-env.ps1 @@ -1,7 +1,7 @@ Param( [switch] $force=$false , [string] $config = "Release" - , [string[]] $frameworks = @("net6.0", "net7.0") + , [string[]] $frameworks = @("net6.0", "net8.0", "net9.0") ) . $PSScriptRoot\..\Run-TestSuite.ps1 diff --git a/DubUrl.QA/MsExcel/deploy-msexcel-test-env.ps1 b/DubUrl.QA/MsExcel/deploy-msexcel-test-env.ps1 index 8900a1ce..3226381b 100644 --- a/DubUrl.QA/MsExcel/deploy-msexcel-test-env.ps1 +++ b/DubUrl.QA/MsExcel/deploy-msexcel-test-env.ps1 @@ -1,7 +1,7 @@ Param( [switch] $force=$false , [string] $config = "Release" - , [string[]] $frameworks = @("net6.0", "net7.0") + , [string[]] $frameworks = @("net6.0", "net8.0", "net9.0") ) . $PSScriptRoot\..\Run-TestSuite.ps1 @@ -39,4 +39,4 @@ if ($force -or ($filesChanged -like "*excel*")) { exit $testSuccessful } else { return -1 -} \ No newline at end of file +} diff --git a/DubUrl.QA/MsSqlServer/deploy-mssqlserver-test-env.ps1 b/DubUrl.QA/MsSqlServer/deploy-mssqlserver-test-env.ps1 index 8073f4e2..1bc8979c 100644 --- a/DubUrl.QA/MsSqlServer/deploy-mssqlserver-test-env.ps1 +++ b/DubUrl.QA/MsSqlServer/deploy-mssqlserver-test-env.ps1 @@ -2,7 +2,7 @@ Param( [switch] $force=$false , [string] $databaseService= "MSSQL`$SQL2019" , [string] $config = "Release" - , [string[]] $frameworks = @("net6.0", "net7.0") + , [string[]] $frameworks = @("net6.0", "net8.0", "net9.0") ) . $PSScriptRoot\..\Windows-Service.ps1 . $PSScriptRoot\..\Docker-Container.ps1 @@ -72,4 +72,4 @@ if ($force -or ($filesChanged -like "*mssql*")) { exit $testSuccessful } else { return -1 -} \ No newline at end of file +} diff --git a/DubUrl.QA/Mysql/deploy-mysql-test-env.ps1 b/DubUrl.QA/Mysql/deploy-mysql-test-env.ps1 index 188cc446..d6394b19 100644 --- a/DubUrl.QA/Mysql/deploy-mysql-test-env.ps1 +++ b/DubUrl.QA/Mysql/deploy-mysql-test-env.ps1 @@ -3,7 +3,7 @@ Param( , [string] $databaseService= "MySQL80" , [string[]] $odbcDrivers = @("MariaDB", "MySQL") , [string] $config = "Release" - , [string[]] $frameworks = @("net6.0", "net7.0") + , [string[]] $frameworks = @("net6.0", "net8.0", "net9.0") ) . $PSScriptRoot\..\Run-TestSuite.ps1 . $PSScriptRoot\..\Docker-Container.ps1 @@ -149,4 +149,4 @@ if ($force -or ($filesChanged -like "*mysql*")) { exit $testSuccessful } else { return -1 -} \ No newline at end of file +} diff --git a/DubUrl.QA/Postgresql/deploy-postgresql-test-env.ps1 b/DubUrl.QA/Postgresql/deploy-postgresql-test-env.ps1 index 45a8b390..5f227464 100644 --- a/DubUrl.QA/Postgresql/deploy-postgresql-test-env.ps1 +++ b/DubUrl.QA/Postgresql/deploy-postgresql-test-env.ps1 @@ -2,7 +2,7 @@ Param( [switch] $force=$false , $databaseService= "postgresql-x64-15" , [string] $config = "Release" - , [string[]] $frameworks = @("net6.0", "net7.0") + , [string[]] $frameworks = @("net6.0", "net8.0", "net9.0") ) . $PSScriptRoot\..\Run-TestSuite.ps1 . $PSScriptRoot\..\Windows-Service.ps1 diff --git a/DubUrl.QA/PowerBiDesktop/deploy-powerbidesktop-test-env.ps1 b/DubUrl.QA/PowerBiDesktop/deploy-powerbidesktop-test-env.ps1 index bcd2a6ad..b64f2a1d 100644 --- a/DubUrl.QA/PowerBiDesktop/deploy-powerbidesktop-test-env.ps1 +++ b/DubUrl.QA/PowerBiDesktop/deploy-powerbidesktop-test-env.ps1 @@ -1,7 +1,7 @@ Param( [switch] $force=$false , [string] $config = "Release" - , [string[]] $frameworks = @("net6.0", "net7.0") + , [string[]] $frameworks = @("net6.0", "net8.0", "net9.0") , [string] $downloadUrl = "https://download.microsoft.com/download/8/8/0/880BCA75-79DD-466A-927D-1ABF1F5454B0/PBIDesktopSetup_x64.exe" , [string] $processName = "PBIDesktop" ) diff --git a/DubUrl.QA/QuestDB/deploy-questdb-test-env.ps1 b/DubUrl.QA/QuestDB/deploy-questdb-test-env.ps1 index 23170cca..591bbdcb 100644 --- a/DubUrl.QA/QuestDB/deploy-questdb-test-env.ps1 +++ b/DubUrl.QA/QuestDB/deploy-questdb-test-env.ps1 @@ -1,7 +1,7 @@ Param( [switch] $force=$false , [string] $config = "Release" - , [string[]] $frameworks = @("net6.0", "net7.0") + , [string[]] $frameworks = @("net6.0", "net8.0", "net9.0") ) . $PSScriptRoot\..\Run-TestSuite.ps1 . $PSScriptRoot\..\Docker-Container.ps1 @@ -51,4 +51,4 @@ if ($force -or ($filesChanged -like "*quest*")) { exit $testSuccessful } else { return -1 -} \ No newline at end of file +} diff --git a/DubUrl.QA/Run-TestSuite.ps1 b/DubUrl.QA/Run-TestSuite.ps1 index dbacf386..7975921d 100644 --- a/DubUrl.QA/Run-TestSuite.ps1 +++ b/DubUrl.QA/Run-TestSuite.ps1 @@ -5,7 +5,7 @@ Function Run-TestSuite { [ValidateNotNullOrEmpty()] [string[]] $categories , [string] $config = "Release" - , [string[]] $frameworks = @("net6.0") + , [string[]] $frameworks = @("net6.0", "net8.0", "net9.0") ) Begin { diff --git a/DubUrl.QA/SingleStore/deploy-singlestore-test-env.ps1 b/DubUrl.QA/SingleStore/deploy-singlestore-test-env.ps1 index 2ee9c2cd..b0b341d9 100644 --- a/DubUrl.QA/SingleStore/deploy-singlestore-test-env.ps1 +++ b/DubUrl.QA/SingleStore/deploy-singlestore-test-env.ps1 @@ -2,7 +2,7 @@ Param( [switch] $force=$false , [string[]] $odbcDrivers = @("MariaDB", "MySQL") , [string] $config = "Release" - , [string[]] $frameworks = @("net6.0", "net7.0") + , [string[]] $frameworks = @("net6.0", "net8.0", "net9.0") ) . $PSScriptRoot\..\Run-TestSuite.ps1 . $PSScriptRoot\..\Docker-Container.ps1 diff --git a/DubUrl.QA/Sqlite/deploy-sqlite-test-env.ps1 b/DubUrl.QA/Sqlite/deploy-sqlite-test-env.ps1 index e22ba14f..72ddaf95 100644 --- a/DubUrl.QA/Sqlite/deploy-sqlite-test-env.ps1 +++ b/DubUrl.QA/Sqlite/deploy-sqlite-test-env.ps1 @@ -1,7 +1,7 @@ Param( [switch] $force=$false , $config= "Release" - , [string[]] $frameworks = @("net6.0", "net7.0") + , [string[]] $frameworks = @("net6.0", "net8.0", "net9.0") , $extension = "zip" ) . $PSScriptRoot\..\Run-TestSuite.ps1 @@ -90,4 +90,4 @@ if ($force -or ($filesChanged -like "*sqlite*")) { } else { Write-Host "Skipping the deployment and run of QA testing for Sqlite" return -1 -} \ No newline at end of file +} diff --git a/DubUrl.QA/Text/deploy-text-test-env.ps1 b/DubUrl.QA/Text/deploy-text-test-env.ps1 index 914a8155..20793432 100644 --- a/DubUrl.QA/Text/deploy-text-test-env.ps1 +++ b/DubUrl.QA/Text/deploy-text-test-env.ps1 @@ -1,7 +1,7 @@ Param( [switch] $force=$false , [string] $config = "Release" - , [string[]] $frameworks = @("net6.0", "net7.0") + , [string[]] $frameworks = @("net6.0", "net8.0", "net9.0") ) . $PSScriptRoot\..\Run-TestSuite.ps1 @@ -40,4 +40,4 @@ if ($force -or ($filesChanged -like "*csv*")) { exit $testSuccessful } else { return -1 -} \ No newline at end of file +} diff --git a/DubUrl.QA/Timescale/deploy-timescale-test-env.ps1 b/DubUrl.QA/Timescale/deploy-timescale-test-env.ps1 index e47fa2c3..8ddb8d33 100644 --- a/DubUrl.QA/Timescale/deploy-timescale-test-env.ps1 +++ b/DubUrl.QA/Timescale/deploy-timescale-test-env.ps1 @@ -1,7 +1,7 @@ Param( [switch] $force=$false , [string] $config = "Release" - , [string[]] $frameworks = @("net6.0", "net7.0") + , [string[]] $frameworks = @("net6.0", "net8.0", "net9.0") ) . $PSScriptRoot\..\Run-TestSuite.ps1 . $PSScriptRoot\..\Docker-Container.ps1 @@ -42,4 +42,4 @@ if ($force -or ($filesChanged -like "*timescale*")) { exit $testSuccessful } else { return -1 -} \ No newline at end of file +} diff --git a/DubUrl.QA/Trino/deploy-trino-test-env.ps1 b/DubUrl.QA/Trino/deploy-trino-test-env.ps1 index b0d0fe79..048a3386 100644 --- a/DubUrl.QA/Trino/deploy-trino-test-env.ps1 +++ b/DubUrl.QA/Trino/deploy-trino-test-env.ps1 @@ -2,7 +2,7 @@ Param( [switch] $force=$false , [string] $networkName = "trino-network" , [string] $config = "Release" - , [string[]] $frameworks = @("net6.0", "net7.0") + , [string[]] $frameworks = @("net6.0", "net8.0", "net9.0") ) . $PSScriptRoot\..\Run-TestSuite.ps1 . $PSScriptRoot\..\Docker-Container.ps1 @@ -89,4 +89,4 @@ if ($force -or ($filesChanged -like "*trino*")) { exit $testSuccessful } else { return -1 -} \ No newline at end of file +} diff --git a/DubUrl.QA/deploy-test-harness.ps1 b/DubUrl.QA/deploy-test-harness.ps1 index 9ed0750d..a3fa4f8b 100644 --- a/DubUrl.QA/deploy-test-harness.ps1 +++ b/DubUrl.QA/deploy-test-harness.ps1 @@ -2,7 +2,7 @@ Param( [switch] $force=$false, [string] $config = "Release", - [string[]] $frameworks = @("net6.0", "net7.0"), + [string[]] $frameworks = @("net6.0", "net8.0", "net9.0"), [Parameter(Position = 0, ParameterSetName='single')] [string] $suite=$null, [Parameter(ParameterSetName='multiple')] diff --git a/DubUrl.Testing/DubUrl.Testing.csproj b/DubUrl.Testing/DubUrl.Testing.csproj index 81dc35c5..0c208969 100644 --- a/DubUrl.Testing/DubUrl.Testing.csproj +++ b/DubUrl.Testing/DubUrl.Testing.csproj @@ -16,14 +16,14 @@ - + - + diff --git a/appveyor.yml b/appveyor.yml index bdd60121..b7e7158d 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -27,6 +27,11 @@ init: - cmd: RefreshEnv.cmd - pwsh: Write-Host "Target branch is '$($env:APPVEYOR_REPO_BRANCH)'" +install: +- ps: | + Invoke-WebRequest -Uri 'https://dot.net/v1/dotnet-install.ps1' -UseBasicParsing -OutFile "$env:temp\dotnet-install.ps1" + & $env:temp\dotnet-install.ps1 -Architecture x64 -Version '9.0.100' -InstallDir "$env:ProgramFiles\dotnet" + before_build: - cmd: gitversion /output buildserver /verbosity Minimal - pwsh: Write-Host "Building DubUrl version $($env:GitVersion_SemVer)" @@ -48,7 +53,7 @@ before_build: } build_script: - #- dotnet --info + - dotnet --info - dotnet build DubUrl.sln -p:version="%GitVersion_SemVer%" -c Release /p:ContinuousIntegrationBuild=true --nologo test_script: @@ -71,7 +76,7 @@ test_script: - pwsh: | $force = ($env:APPVEYOR_REPO_BRANCH -eq "main") #Valid for a Pull Request or a Commit on main - & .\DubUrl.QA\deploy-test-harness.ps1 -force:$force -config "Release" -frameworks @("net6.0") -exclude @("CockRoach", "Drill", "Trino", "PowerBIDesktop", "SsasMultdim", "SsasTabular", "SingleStore", "CrateDB") + & .\DubUrl.QA\deploy-test-harness.ps1 -force:$force -config "Release" -frameworks @("net6.0", "net8.0", "net9.0") -exclude @("CockRoach", "Drill", "Trino", "PowerBIDesktop", "SsasMultdim", "SsasTabular", "SingleStore", "CrateDB") if ($lastexitcode -gt 0) { throw "At least one of the test-suite was not successful. Build stopped." }