Skip to content

Commit

Permalink
Merge net8 into master.
Browse files Browse the repository at this point in the history
  • Loading branch information
bgrainger committed Oct 20, 2023
2 parents 351e170 + 91a4ca2 commit 37af384
Show file tree
Hide file tree
Showing 104 changed files with 1,142 additions and 836 deletions.
23 changes: 12 additions & 11 deletions .ci/build-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@ steps:
contents: 'config.json'
targetFolder: 'tests/IntegrationTests'
- task: UseDotNet@2
displayName: 'Install .NET Core'
displayName: 'Install .NET'
inputs:
version: $(DotNetCoreSdkVersion)
includePreviewVersions: true

- task: DotNetCoreCLI@2
displayName: 'Restore packages'
Expand All @@ -26,37 +27,37 @@ steps:
displayName: 'Publish MySqlConnector.Tests'
inputs:
command: 'publish'
arguments: '-c Release -f net7.0 --no-build tests/MySqlConnector.Tests/MySqlConnector.Tests.csproj'
arguments: '-c Release -f net8.0 --no-build tests/MySqlConnector.Tests/MySqlConnector.Tests.csproj'
publishWebProjects: false
zipAfterPublish: false
- task: PublishPipelineArtifact@0
inputs:
artifactName: 'MySqlConnector.Tests-7.0-$(Agent.OS)'
targetPath: 'tests/MySqlConnector.Tests/bin/Release/net7.0/publish'
artifactName: 'MySqlConnector.Tests-8.0-$(Agent.OS)'
targetPath: 'artifacts/publish/MySqlConnector.Tests/release_net8.0'

- task: DotNetCoreCLI@2
displayName: 'Publish Conformance.Tests'
inputs:
command: 'publish'
arguments: '-c Release -f net7.0 --no-build tests/Conformance.Tests/Conformance.Tests.csproj'
arguments: '-c Release -f net8.0 --no-build tests/Conformance.Tests/Conformance.Tests.csproj'
publishWebProjects: false
zipAfterPublish: false
- task: PublishPipelineArtifact@0
inputs:
artifactName: 'Conformance.Tests-7.0-$(Agent.OS)'
targetPath: 'tests/Conformance.Tests/bin/Release/net7.0/publish'
artifactName: 'Conformance.Tests-8.0-$(Agent.OS)'
targetPath: 'artifacts/publish/Conformance.Tests/release_net8.0'

- task: DotNetCoreCLI@2
displayName: 'Publish IntegrationTests (7.0)'
inputs:
command: 'publish'
arguments: '-c Release -f net7.0 --no-build tests/IntegrationTests/IntegrationTests.csproj'
arguments: '-c Release -f net8.0 --no-build tests/IntegrationTests/IntegrationTests.csproj'
publishWebProjects: false
zipAfterPublish: false
- task: PublishPipelineArtifact@0
inputs:
artifactName: 'IntegrationTests-net7.0-$(Agent.OS)'
targetPath: 'tests/IntegrationTests/bin/Release/net7.0/publish'
artifactName: 'IntegrationTests-net8.0-$(Agent.OS)'
targetPath: 'artifacts/publish/IntegrationTests/release_net8.0'

- task: DotNetCoreCLI@2
displayName: 'Publish IntegrationTests (6.0)'
Expand All @@ -68,4 +69,4 @@ steps:
- task: PublishPipelineArtifact@0
inputs:
artifactName: 'IntegrationTests-net6.0-$(Agent.OS)'
targetPath: 'tests/IntegrationTests/bin/Release/net6.0/publish'
targetPath: 'artifacts/publish/IntegrationTests/release_net6.0'
8 changes: 4 additions & 4 deletions .ci/config/config.compression+ssl.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{
"Data": {
"ConnectionString": "server=127.0.0.1;user id=ssltest;password=test;port=3306;database=mysqltest;ssl mode=required;use compression=true;DefaultCommandTimeout=3600",
"SocketPath": "./../../../../../.ci/run/mysql/mysqld.sock",
"SocketPath": "./../../../../.ci/run/mysql/mysqld.sock",
"PasswordlessUser": "no_password",
"SecondaryDatabase": "testdb2",
"UnsupportedFeatures": "RsaEncryption,CachingSha2Password,Tls12,Tls13,UuidToBin",
"MySqlBulkLoaderLocalCsvFile": "../../../../TestData/LoadData_UTF8_BOM_Unix.CSV",
"MySqlBulkLoaderLocalTsvFile": "../../../../TestData/LoadData_UTF8_BOM_Unix.TSV",
"CertificatesPath": "../../../../../.ci/server/certs"
"MySqlBulkLoaderLocalCsvFile": "../../../TestData/LoadData_UTF8_BOM_Unix.CSV",
"MySqlBulkLoaderLocalTsvFile": "../../../TestData/LoadData_UTF8_BOM_Unix.TSV",
"CertificatesPath": "../../../../.ci/server/certs"
}
}
6 changes: 3 additions & 3 deletions .ci/config/config.compression.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"Data": {
"ConnectionString": "server=127.0.0.1;user id=mysqltest;password=test;port=3306;database=mysqltest;ssl mode=none;UseCompression=true;DefaultCommandTimeout=3600",
"SocketPath": "./../../../../../.ci/run/mysql/mysqld.sock",
"SocketPath": "./../../../../.ci/run/mysql/mysqld.sock",
"PasswordlessUser": "no_password",
"SecondaryDatabase": "testdb2",
"UnsupportedFeatures": "Ed25519,RsaEncryption,CachingSha2Password,QueryAttributes,Tls12,Tls13,UnixDomainSocket,UuidToBin",
"MySqlBulkLoaderLocalCsvFile": "../../../../TestData/LoadData_UTF8_BOM_Unix.CSV",
"MySqlBulkLoaderLocalTsvFile": "../../../../TestData/LoadData_UTF8_BOM_Unix.TSV"
"MySqlBulkLoaderLocalCsvFile": "../../../../tests/TestData/LoadData_UTF8_BOM_Unix.CSV",
"MySqlBulkLoaderLocalTsvFile": "../../../../tests/TestData/LoadData_UTF8_BOM_Unix.TSV"
}
}
6 changes: 3 additions & 3 deletions .ci/config/config.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"Data": {
"ConnectionString": "server=127.0.0.1;user id=mysqltest;password=test;port=3306;database=mysqltest;ssl mode=none;DefaultCommandTimeout=3600",
"SocketPath": "./../../../../../.ci/run/mysql/mysqld.sock",
"SocketPath": "./../../../../.ci/run/mysql/mysqld.sock",
"PasswordlessUser": "no_password",
"SecondaryDatabase": "testdb2",
"UnsupportedFeatures": "Ed25519,RsaEncryption,CachingSha2Password,QueryAttributes,Tls12,Tls13,UnixDomainSocket,UuidToBin",
"MySqlBulkLoaderLocalCsvFile": "../../../../TestData/LoadData_UTF8_BOM_Unix.CSV",
"MySqlBulkLoaderLocalTsvFile": "../../../../TestData/LoadData_UTF8_BOM_Unix.TSV"
"MySqlBulkLoaderLocalCsvFile": "../../../../tests/TestData/LoadData_UTF8_BOM_Unix.CSV",
"MySqlBulkLoaderLocalTsvFile": "../../../../tests/TestData/LoadData_UTF8_BOM_Unix.TSV"
}
}
8 changes: 4 additions & 4 deletions .ci/config/config.ssl.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{
"Data": {
"ConnectionString": "server=127.0.0.1;user id=ssltest;password=test;port=3306;database=mysqltest;ssl mode=required;certificate file=../../../../../.ci/server/certs/ssl-client.pfx;DefaultCommandTimeout=3600",
"SocketPath": "./../../../../../.ci/run/mysql/mysqld.sock",
"SocketPath": "./../../../../.ci/run/mysql/mysqld.sock",
"PasswordlessUser": "no_password",
"SecondaryDatabase": "testdb2",
"UnsupportedFeatures": "RsaEncryption,CachingSha2Password,Tls12,Tls13,UuidToBin",
"MySqlBulkLoaderLocalCsvFile": "../../../../TestData/LoadData_UTF8_BOM_Unix.CSV",
"MySqlBulkLoaderLocalTsvFile": "../../../../TestData/LoadData_UTF8_BOM_Unix.TSV",
"CertificatesPath": "../../../../../.ci/server/certs"
"MySqlBulkLoaderLocalCsvFile": "../../../TestData/LoadData_UTF8_BOM_Unix.CSV",
"MySqlBulkLoaderLocalTsvFile": "../../../TestData/LoadData_UTF8_BOM_Unix.TSV",
"CertificatesPath": "../../../../.ci/server/certs"
}
}
8 changes: 4 additions & 4 deletions .ci/config/config.uds+ssl.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"Data": {
"ConnectionString": "server=./../../../../../.ci/mysqld/mysqld.sock;user id=ssltest;password=test;database=mysqltest;ssl mode=required;DefaultCommandTimeout=3600",
"ConnectionString": "server=./../../../../.ci/mysqld/mysqld.sock;user id=ssltest;password=test;database=mysqltest;ssl mode=required;DefaultCommandTimeout=3600",
"PasswordlessUser": "no_password",
"SecondaryDatabase": "testdb2",
"UnsupportedFeatures": "None",
"MySqlBulkLoaderLocalCsvFile": "../../../../TestData/LoadData_UTF8_BOM_Unix.CSV",
"MySqlBulkLoaderLocalTsvFile": "../../../../TestData/LoadData_UTF8_BOM_Unix.TSV",
"CertificatesPath": "../../../../../.ci/server/certs"
"MySqlBulkLoaderLocalCsvFile": "../../../TestData/LoadData_UTF8_BOM_Unix.CSV",
"MySqlBulkLoaderLocalTsvFile": "../../../TestData/LoadData_UTF8_BOM_Unix.TSV",
"CertificatesPath": "../../../../.ci/server/certs"
}
}
6 changes: 3 additions & 3 deletions .ci/config/config.uds.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"Data": {
"ConnectionString": "server=./../../../../../.ci/run/mysql/mysqld.sock;user id=mysqltest;password=test;database=mysqltest;ssl mode=none;DefaultCommandTimeout=3600",
"ConnectionString": "server=./../../../../.ci/run/mysql/mysqld.sock;user id=mysqltest;password=test;database=mysqltest;ssl mode=none;DefaultCommandTimeout=3600",
"PasswordlessUser": "no_password",
"SecondaryDatabase": "testdb2",
"UnsupportedFeatures": "None",
"MySqlBulkLoaderLocalCsvFile": "../../../../TestData/LoadData_UTF8_BOM_Unix.CSV",
"MySqlBulkLoaderLocalTsvFile": "../../../../TestData/LoadData_UTF8_BOM_Unix.TSV"
"MySqlBulkLoaderLocalCsvFile": "../../../TestData/LoadData_UTF8_BOM_Unix.CSV",
"MySqlBulkLoaderLocalTsvFile": "../../../TestData/LoadData_UTF8_BOM_Unix.TSV"
}
}
6 changes: 3 additions & 3 deletions .ci/conformance-test-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ steps:
- task: DownloadPipelineArtifact@0
condition: always()
inputs:
artifactName: 'Conformance.Tests-7.0-$(Agent.OS)'
targetPath: '$(Build.BinariesDirectory)/7.0'
artifactName: 'Conformance.Tests-8.0-$(Agent.OS)'
targetPath: '$(Build.BinariesDirectory)/8.0'
- task: DotNetCoreCLI@2
displayName: 'Conformance Tests'
inputs:
command: 'custom'
custom: 'vstest'
arguments: '$(Build.BinariesDirectory)/7.0/Conformance.Tests.dll /logger:trx'
arguments: '$(Build.BinariesDirectory)/8.0/Conformance.Tests.dll /logger:trx'
env:
CONNECTION_STRING: ${{ parameters.connectionString }}
- task: PublishTestResults@2
Expand Down
14 changes: 5 additions & 9 deletions .ci/integration-tests-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,15 @@ steps:
- bash: ${{ format('.ci/docker-run.sh {0} 3300 {1}', parameters.image, parameters.unsupportedFeatures) }}
displayName: 'Start Docker container'
- task: UseDotNet@2
displayName: 'Install .NET Core 3.1'
inputs:
version: 3.1.x
packageType: runtime
- task: UseDotNet@2
displayName: 'Install .NET Core 6.0'
displayName: 'Install .NET 6.0'
inputs:
version: 6.0.x
packageType: runtime
- task: UseDotNet@2
displayName: 'Install .NET Core'
displayName: 'Install .NET'
inputs:
version: $(DotNetCoreSdkVersion)
includePreviewVersions: true
- template: 'conformance-test-steps.yml'
parameters:
image: ${{ parameters.image }}
Expand All @@ -30,7 +26,7 @@ steps:
image: ${{ parameters.image }}
unsupportedFeatures: ${{ parameters.unsupportedFeatures }}
connectionString: server=localhost;port=3300;user id=mysqltest;password=test;database=mysqltest;ssl mode=required;DefaultCommandTimeout=3600;certificate file=$(Build.Repository.LocalPath)/.ci/server/certs/ssl-client.pfx;${{ parameters.connectionStringExtra }}
platform: 'net7.0'
platform: 'net8.0'
description: 'SSL'
- template: 'integration-test-steps.yml'
parameters:
Expand All @@ -52,4 +48,4 @@ steps:
unsupportedFeatures: ${{ parameters.unsupportedFeatures }}
connectionString: server=localhost;port=3300;user id=mysqltest;password=test;database=mysqltest;ssl mode=required;DefaultCommandTimeout=3600;certificate file=$(Build.Repository.LocalPath)/.ci/server/certs/ssl-client.pfx;${{ parameters.connectionStringExtra }}
platform: 'net6.0'
description: 'SSL'
description: 'SSL'
7 changes: 4 additions & 3 deletions .ci/mysqlconnector-tests-steps.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
steps:
- task: UseDotNet@2
displayName: 'Install .NET Core'
displayName: 'Install .NET'
inputs:
version: $(DotNetCoreSdkVersion)
includePreviewVersions: true
- task: DownloadPipelineArtifact@0
inputs:
artifactName: 'MySqlConnector.Tests-7.0-$(Agent.OS)'
artifactName: 'MySqlConnector.Tests-8.0-$(Agent.OS)'
targetPath: $(System.DefaultWorkingDirectory)
- task: DotNetCoreCLI@2
displayName: 'Run MySqlConnector.Tests'
Expand All @@ -17,4 +18,4 @@ steps:
inputs:
testResultsFormat: VSTest
testResultsFiles: '**/*.trx'
testRunTitle: 'MySqlConnector.Tests-7.0-$(Agent.OS)'
testRunTitle: 'MySqlConnector.Tests-8.0-$(Agent.OS)'
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,6 @@ dotnet_diagnostic.CA1508.severity = silent # Avoid dead conditional code.
dotnet_diagnostic.CA1510.severity = none # Use ArgumentNullException.ThrowIfNull.
dotnet_diagnostic.CA1513.severity = none # Use ObjectDisposedException.ThrowIf.
dotnet_diagnostic.CA1849.severity = none # Call async methods when in an async method.
dotnet_diagnostic.CA1859.severity = silent # Use concrete return types for performance.
dotnet_diagnostic.CA2000.severity = none # Use recommended Dispose pattern.
dotnet_diagnostic.CA2100.severity = none # Review SQL queries for security vulnerabilities.
dotnet_diagnostic.CA2213.severity = silent # Disposable fields should be disposed.
Expand Down Expand Up @@ -111,6 +110,7 @@ dotnet_diagnostic.SA1500.severity = none # Braces for multi-line statements shou
dotnet_diagnostic.SA1503.severity = none # Braces should not be omitted.
dotnet_diagnostic.SA1513.severity = none # Closing brace should be followed by blank line.
dotnet_diagnostic.SA1516.severity = none # Elements should be separated by blank line.
dotnet_diagnostic.SA1519.severity = none # Braces should not be omitted from multi-line child statement
dotnet_diagnostic.SA1600.severity = none # Elements should be documented.
dotnet_diagnostic.SA1601.severity = none # Partial elements should be documented.
dotnet_diagnostic.SA1602.severity = none # Enumeration items should be documented.
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up .NET 7.0
- name: Set up .NET 8.0
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7.x
dotnet-version: 8.x

- name: Restore
run: dotnet restore
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@ jobs:
- name: Check out
uses: actions/checkout@v4

- name: Set up .NET 7.0
- name: Set up .NET 8.0
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7.x
dotnet-version: 8.x

- name: Initialize CodeQL
uses: github/codeql-action/init@v2
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# ignore output folders
BenchmarkDotNet.Artifacts/
artifacts/
bin/
build/
obj/
Expand Down
22 changes: 22 additions & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<Project>

<PropertyGroup>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<LangVersion>preview</LangVersion>
<AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
<NoWarn>$(NoWarn);1591;CA1708;CA1835;CA2215;CA5397;NU5105;SYSLIB0039</NoWarn>
<ArtifactsPath>$(MSBuildThisFileDirectory)artifacts</ArtifactsPath>
<NuGetAudit>true</NuGetAudit>
<NuGetAuditLevel>low</NuGetAuditLevel>
</PropertyGroup>

<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<RunAnalyzersDuringBuild>true</RunAnalyzersDuringBuild>
</PropertyGroup>

<PropertyGroup Condition=" '$(GITHUB_ACTIONS)' == 'true' OR '$(APPVEYOR)' == 'True' OR '$(TF_BUILD)' == 'True' ">
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
<Deterministic>true</Deterministic>
</PropertyGroup>

</Project>
34 changes: 34 additions & 0 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<CentralPackageTransitivePinningEnabled>false</CentralPackageTransitivePinningEnabled>
</PropertyGroup>

<ItemGroup>
<PackageVersion Include="AdoNet.Specification.Tests" Version="2.0.0-beta.2" />
<PackageVersion Include="Dapper.StrongName" Version="2.1.15" />
<PackageVersion Include="IndexRange" Version="1.0.2" />
<PackageVersion Include="log4net" Version="2.0.10" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="7.0.4" />
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="7.0.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="7.0.0" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="7.0.1" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.7.2" />
<PackageVersion Include="MySql.Data" Version="8.1.0" />
<PackageVersion Include="NLog" Version="4.5.0" />
<PackageVersion Include="Serilog" Version="2.6.0" />
<PackageVersion Include="StyleCop.Analyzers" Version="1.2.0-beta.507" />
<PackageVersion Include="System.Diagnostics.DiagnosticSource" Version="7.0.2" />
<PackageVersion Include="System.Threading.Tasks.Extensions" Version="4.5.4" />
<PackageVersion Include="xunit" Version="2.5.3" />
<PackageVersion Include="xunit.runner.visualstudio" Version="2.5.3" />
<PackageVersion Include="YamlDotNet" Version="13.7.1" />
</ItemGroup>

<ItemGroup>
<GlobalPackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" />
<GlobalPackageReference Include="MinVer" Version="4.3.0" />
</ItemGroup>

</Project>
1 change: 1 addition & 0 deletions NuGet.config
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
</packageSources>
</configuration>
11 changes: 3 additions & 8 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ install:
- ps: Invoke-WebRequest -Uri "https://dot.net/v1/dotnet-install.ps1" -OutFile "install-dotnet.ps1"
- ps: .\install-dotnet.ps1 -Channel 6.0 -InstallDir "dotnetcli"
- ps: .\install-dotnet.ps1 -Channel 7.0 -InstallDir "dotnetcli"
- ps: .\install-dotnet.ps1 -Channel 8.0 -InstallDir "dotnetcli"
build_script:
- dotnet --info
before_test:
Expand All @@ -21,19 +22,13 @@ test_script:
- ps: .\.ci\test.ps1
after_test:
- cmd: |-
dotnet pack src\MySqlConnector\MySqlConnector.csproj -c Release
dotnet pack src\MySqlConnector.Authentication.Ed25519\MySqlConnector.Authentication.Ed25519.csproj -c Release
dotnet pack src\MySqlConnector.DependencyInjection\MySqlConnector.DependencyInjection.csproj -c Release
dotnet pack src\MySqlConnector.Logging.log4net\MySqlConnector.Logging.log4net.csproj -c Release
dotnet pack src\MySqlConnector.Logging.Microsoft.Extensions.Logging\MySqlConnector.Logging.Microsoft.Extensions.Logging.csproj -c Release
dotnet pack src\MySqlConnector.Logging.NLog\MySqlConnector.Logging.NLog.csproj -c Release
dotnet pack src\MySqlConnector.Logging.Serilog\MySqlConnector.Logging.Serilog.csproj -c Release
dotnet pack -c Release
notifications:
- provider: Slack
incoming_webhook:
secure: SRJ5fYQE4tvelyqeX3Lkv0gXta3O2pl4/+wNaqmqmcFkmYBe+U31T5YCGhipBOVhHBIZLevihOJZ78sFVJrmAFV5bHgtX/VPIKEXN+7ytis=
artifacts:
- path: src\*\bin\Release\*.nupkg
- path: artifacts\package\release\*.nupkg
deploy:
- provider: NuGet
api_key:
Expand Down
Loading

0 comments on commit 37af384

Please sign in to comment.