Skip to content

Commit 38745a4

Browse files
committed
Switch repository to centralized package management and modern dotnet testing. Use that for GitHub action.
Upgrade packages to versions that have no security reports.
1 parent f1b361e commit 38745a4

File tree

43 files changed

+739
-642
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+739
-642
lines changed

.editorconfig

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Top-most EditorConfig file
2+
root = true
3+
4+
[*]
5+
indent_style = space
6+
indent_size = 4
7+
tab_width = 4
8+
trim_trailing_whitespace = true
9+
insert_final_newline = true
10+
end_of_line = lf
11+
12+
[*.{csproj,props,build}]
13+
indent_size = 2
14+
15+
[*.{cs,vb}]
16+
# Organize usings
17+
dotnet_separate_import_directive_groups = false
18+
dotnet_sort_system_directives_first = true
19+
20+
[*.cs]
21+
# CS1574: XML comment has cref attribute that could not be resolved
22+
dotnet_diagnostic.CS1574.severity = none

.github/workflows/build-pr.yml

+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: Build & Run Tests for PR
2+
on:
3+
pull_request:
4+
5+
env:
6+
REPODB_SQLSERVER_CONSTR_MASTER: "Server=tcp:127.0.0.1,41433;Database=master;User ID=sa;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;TrustServerCertificate=True;"
7+
REPODB_SQLSERVER_CONSTR_REPODB: "Server=tcp:127.0.0.1,41433;Database=RepoDb;User ID=sa;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;TrustServerCertificate=True;"
8+
REPODB_SQLSERVER_CONSTR_REPODBTEST: "Server=tcp:127.0.0.1,41433;Database=RepoDbTest;User ID=sa;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;TrustServerCertificate=True;"
9+
REPODB_POSTGRESQL_CONSTR_POSTGRESDB: "Server=127.0.0.1;Port=45432;Database=postgres;User Id=postgres;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;"
10+
REPODB_POSTGRESQL_CONSTR: "Server=127.0.0.1;Port=45432;Database=RepoDb;User Id=postgres;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;"
11+
REPODB_POSTGRESQL_CONSTR_BULK: "Server=127.0.0.1;Port=45432;Database=RepoDbBulk;User Id=postgres;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;"
12+
REPODB_MYSQL_CONSTR_SYS: "Server=127.0.0.1;Port=43306;Database=sys;User ID=root;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;"
13+
REPODB_MYSQL_CONSTR_REPODB: "Server=127.0.0.1;Port=43306;Database=RepoDb;User ID=root;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;"
14+
REPODB_MYSQL_CONSTR_REPODBTEST: "Server=127.0.0.1;Port=43306;Database=RepoDbTest;User ID=root;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;"
15+
16+
jobs:
17+
build:
18+
runs-on: ubuntu-latest
19+
20+
# Services. See docker-compose.yml
21+
services:
22+
mssql:
23+
image: mcr.microsoft.com/mssql/server:2022-latest
24+
ports:
25+
- 127.0.0.1:41433:1433
26+
env:
27+
ACCEPT_EULA: true
28+
MSSQL_SA_PASSWORD: ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2
29+
30+
postgresql:
31+
image: postgres:latest
32+
ports:
33+
- 127.0.0.1:45432:5432
34+
env:
35+
POSTGRES_PASSWORD: ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2
36+
37+
mysql:
38+
image: mysql:latest
39+
ports:
40+
- 127.0.0.1:43306:3306
41+
env:
42+
MYSQL_ROOT_PASSWORD: ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2
43+
44+
steps:
45+
- name: Check out repository code
46+
uses: actions/checkout@v4
47+
48+
- name: Setup .NET Versions
49+
uses: actions/setup-dotnet@v4
50+
with:
51+
dotnet-version: |
52+
6.0.x
53+
7.0.x
54+
8.0.x
55+
56+
- name: build
57+
run: dotnet build -c release
58+
59+
- name: test
60+
run: dotnet test -c release -f net8.0 --no-build -p:TestingPlatformShowTestsFailure=true -p:TestingPlatformCaptureOutput=false
61+
62+
- name: pack packages
63+
run: dotnet pack -c release -p Version="1.14.0-dev-pr-${{ github.run_number }}" -o release RepoDb.Core/RepoDb.All.sln
64+
65+
- name: Package nupkg files
66+
uses: actions/upload-artifact@v3
67+
with:
68+
name: release
69+
path: release/*nupkg

.github/workflows/build.yml

+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: Build & Run Tests (Push)
2+
on:
3+
push
4+
5+
env:
6+
REPODB_SQLSERVER_CONSTR_MASTER: "Server=tcp:127.0.0.1,41433;Database=master;User ID=sa;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;TrustServerCertificate=True;"
7+
REPODB_SQLSERVER_CONSTR_REPODB: "Server=tcp:127.0.0.1,41433;Database=RepoDb;User ID=sa;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;TrustServerCertificate=True;"
8+
REPODB_SQLSERVER_CONSTR_REPODBTEST: "Server=tcp:127.0.0.1,41433;Database=RepoDbTest;User ID=sa;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;TrustServerCertificate=True;"
9+
REPODB_POSTGRESQL_CONSTR_POSTGRESDB: "Server=127.0.0.1;Port=45432;Database=postgres;User Id=postgres;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;"
10+
REPODB_POSTGRESQL_CONSTR: "Server=127.0.0.1;Port=45432;Database=RepoDb;User Id=postgres;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;"
11+
REPODB_POSTGRESQL_CONSTR_BULK: "Server=127.0.0.1;Port=45432;Database=RepoDbBulk;User Id=postgres;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;"
12+
REPODB_MYSQL_CONSTR_SYS: "Server=127.0.0.1;Port=43306;Database=sys;User ID=root;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;"
13+
REPODB_MYSQL_CONSTR_REPODB: "Server=127.0.0.1;Port=43306;Database=RepoDb;User ID=root;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;"
14+
REPODB_MYSQL_CONSTR_REPODBTEST: "Server=127.0.0.1;Port=43306;Database=RepoDbTest;User ID=root;Password=ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2;"
15+
16+
jobs:
17+
build:
18+
runs-on: ubuntu-latest
19+
20+
# Services. See docker-compose.yml
21+
services:
22+
mssql:
23+
image: mcr.microsoft.com/mssql/server:2022-latest
24+
ports:
25+
- 127.0.0.1:41433:1433
26+
env:
27+
ACCEPT_EULA: true
28+
MSSQL_SA_PASSWORD: ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2
29+
30+
postgresql:
31+
image: postgres:latest
32+
ports:
33+
- 127.0.0.1:45432:5432
34+
env:
35+
POSTGRES_PASSWORD: ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2
36+
37+
mysql:
38+
image: mysql:latest
39+
ports:
40+
- 127.0.0.1:43306:3306
41+
env:
42+
MYSQL_ROOT_PASSWORD: ddd53e85-b15e-4da8-91e5-a7d3b00a0ab2
43+
44+
steps:
45+
- name: Check out repository code
46+
uses: actions/checkout@v4
47+
48+
- name: Setup .NET Versions
49+
uses: actions/setup-dotnet@v4
50+
with:
51+
dotnet-version: |
52+
6.0.x
53+
7.0.x
54+
8.0.x
55+
56+
- name: build
57+
run: dotnet build -c release RepoDb.Core/RepoDb.All.sln
58+
59+
- name: test for .Net 8.0
60+
run: dotnet test -c release -f net8.0 --no-build -p:TestingPlatformShowTestsFailure=true -p:TestingPlatformCaptureOutput=false RepoDb.Core/RepoDb.All.sln
61+
62+
- name: pack packages
63+
run: dotnet pack -c release -p Version="1.14.0-dev-${{ github.run_number }}" -o release RepoDb.Core/RepoDb.All.sln
64+
65+
- name: Package nupkg files
66+
uses: actions/upload-artifact@v3
67+
with:
68+
name: release
69+
path: release/*nupkg

Directory.Build.props

+18-3
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,28 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project>
33
<PropertyGroup>
4-
<Authors>Michael Camara Pendon</Authors>
4+
<Authors>Michael Camara Pendon and others</Authors>
55
<Company>RepoDb</Company>
66
<Product>RepoDb</Product>
7+
<Version Condition="'$(Version)' == ''">0.0.1-dev</Version>
78
<LangVersion>default</LangVersion>
8-
<Copyright>Copyright © 2020</Copyright>
9+
<Copyright>Copyright © 2020-2024</Copyright>
910
<PackageProjectUrl>https://repodb.net/</PackageProjectUrl>
1011
<RepositoryType>Github</RepositoryType>
1112
<PackageLicenseFile>LICENSE.txt</PackageLicenseFile>
13+
<PackageReadmeFile>README.md</PackageReadmeFile>
14+
<PublishRepositoryUrl>true</PublishRepositoryUrl>
15+
<EmbedUntrackedSources>true</EmbedUntrackedSources>
16+
<DebugType>portable</DebugType>
17+
<IncludeSymbols>true</IncludeSymbols>
18+
<Nullable>annotations</Nullable>
19+
<AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
20+
<ProduceReferenceAssembly>true</ProduceReferenceAssembly>
1221
</PropertyGroup>
13-
</Project>
22+
<Target Name="SetGenerateBeforeBuild" BeforeTargets="Build">
23+
<!-- IsPackable is set in project files, so delay evaluating this -->
24+
<PropertyGroup>
25+
<GenerateDocumentationFile Condition="'$(IsPackable)' != 'false'">true</GenerateDocumentationFile>
26+
</PropertyGroup>
27+
</Target>
28+
</Project>

Directory.Packages.props

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<Project>
2+
<PropertyGroup>
3+
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
4+
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
5+
<NoWarn>$(NoWarn);NU1507</NoWarn>
6+
<SuppressNETCoreSdkPreviewMessage>true</SuppressNETCoreSdkPreviewMessage>
7+
</PropertyGroup>
8+
<ItemGroup>
9+
<PackageVersion Include="BenchmarkDotNet" Version="0.14.0" />
10+
<PackageVersion Include="BouncyCastle.Cryptography" Version="2.4.0" />
11+
<PackageVersion Include="coverlet.collector" Version="6.0.2" />
12+
<PackageVersion Include="Dapper" Version="2.1.35" />
13+
<PackageVersion Include="Dapper.Contrib" Version="2.0.78" />
14+
<PackageVersion Include="linq2db" Version="5.3.2" />
15+
<PackageVersion Include="linq2db.PostgreSQL" Version="5.3.2" />
16+
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="8.0.0" />
17+
<PackageVersion Include="Microsoft.Bcl.HashCode" Version="1.1.1" />
18+
<PackageVersion Include="Microsoft.Data.SqlClient" Version="5.2.2" />
19+
<PackageVersion Include="Microsoft.Data.Sqlite" Version="8.0.0" />
20+
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="7.0.0" />
21+
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.0" />
22+
<PackageVersion Include="Microsoft.SqlServer.Types" Version="160.1000.6" />
23+
<PackageVersion Include="Moq" Version="4.20.72" />
24+
<PackageVersion Include="MSTest" Version="3.6.2" />
25+
<PackageVersion Include="MySql.Data" Version="9.1.0" />
26+
<PackageVersion Include="MySqlConnector" Version="2.3.0" />
27+
<PackageVersion Include="NHibernate" Version="5.5.2" />
28+
<PackageVersion Include="Npgsql" Version="7.0.8" />
29+
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="7.0.0" />
30+
<PackageVersion Include="System.ComponentModel.Annotations" Version="5.0.0" />
31+
<PackageVersion Include="System.Data.Common" Version="4.3.0" />
32+
<PackageVersion Include="System.Data.SQLite.Core" Version="1.0.118" />
33+
<PackageVersion Include="System.Dynamic.Runtime" Version="4.3.0" />
34+
<PackageVersion Include="System.Linq.Async" Version="6.0.1" />
35+
<PackageVersion Include="System.Memory" Version="4.5.5" />
36+
<PackageVersion Include="System.Net.Http" Version="4.3.4" />
37+
<PackageVersion Include="System.Reflection.Emit" Version="4.7.0" />
38+
<PackageVersion Include="System.Reflection.Emit.Lightweight" Version="4.7.0" />
39+
<PackageVersion Include="System.Reflection.TypeExtensions" Version="4.7.0" />
40+
<PackageVersion Include="System.Text.Json" Version="8.0.5" />
41+
<PackageVersion Include="System.Text.RegularExpressions" Version="4.3.1" />
42+
</ItemGroup>
43+
</Project>
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,21 @@
11
<Project Sdk="Microsoft.NET.Sdk">
2-
32
<PropertyGroup>
43
<OutputType>Exe</OutputType>
54
<TargetFrameworks>net6.0;net7.0;net8.0</TargetFrameworks>
5+
<IsPackable>false</IsPackable>
66
</PropertyGroup>
7-
87
<ItemGroup>
9-
<PackageReference Include="BenchmarkDotNet" Version="0.13.10" />
10-
<PackageReference Include="Dapper" Version="2.1.21" />
11-
<PackageReference Include="Dapper.Contrib" Version="2.0.78" />
12-
<PackageReference Include="linq2db" Version="5.3.2" />
13-
<PackageReference Include="linq2db.PostgreSQL" Version="5.3.2" />
14-
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.0" />
15-
<PackageReference Include="NHibernate" Version="5.4.6" />
16-
<PackageReference Include="Npgsql" Version="7.0.6" />
17-
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="7.0.0" />
8+
<PackageReference Include="BenchmarkDotNet" />
9+
<PackageReference Include="Dapper" />
10+
<PackageReference Include="Dapper.Contrib" />
11+
<PackageReference Include="linq2db" />
12+
<PackageReference Include="linq2db.PostgreSQL" />
13+
<PackageReference Include="Microsoft.EntityFrameworkCore" />
14+
<PackageReference Include="NHibernate" />
15+
<PackageReference Include="Npgsql" />
16+
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" />
1817
</ItemGroup>
19-
2018
<ItemGroup>
2119
<ProjectReference Include="..\..\RepoDb.PostgreSql\RepoDb.PostgreSql\RepoDb.PostgreSql.csproj" />
2220
</ItemGroup>
23-
24-
</Project>
21+
</Project>
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,21 @@
11
<Project Sdk="Microsoft.NET.Sdk">
2-
32
<PropertyGroup>
43
<OutputType>Exe</OutputType>
54
<TargetFrameworks>net6.0;net7.0;net8.0</TargetFrameworks>
5+
<IsPackable>false</IsPackable>
66
</PropertyGroup>
7-
87
<ItemGroup>
9-
<PackageReference Include="BenchmarkDotNet" Version="0.13.10" />
10-
<PackageReference Include="Dapper" Version="2.1.21" />
11-
<PackageReference Include="Dapper.Contrib" Version="2.0.78" />
12-
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.0" />
13-
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.0" />
14-
<PackageReference Include="NHibernate" Version="5.4.6" />
15-
<PackageReference Include="System.Linq.Async" Version="6.0.1" />
8+
<PackageReference Include="BenchmarkDotNet" />
9+
<PackageReference Include="Dapper" />
10+
<PackageReference Include="Dapper.Contrib" />
11+
<PackageReference Include="Microsoft.EntityFrameworkCore" />
12+
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" />
13+
<PackageReference Include="NHibernate" />
14+
<PackageReference Include="System.Linq.Async" />
1615
</ItemGroup>
17-
1816
<ItemGroup>
1917
<ProjectReference Include="..\..\RepoDb.Extensions\RepoDb.SqlServer.BulkOperations\RepoDb.SqlServer.BulkOperations\RepoDb.SqlServer.BulkOperations.csproj" />
2018
<ProjectReference Include="..\..\RepoDb.PostgreSql\RepoDb.PostgreSql\RepoDb.PostgreSql.csproj" />
2119
<ProjectReference Include="..\..\RepoDb.SqlServer\RepoDb.SqlServer\RepoDb.SqlServer.csproj" />
2220
</ItemGroup>
23-
24-
</Project>
21+
</Project>

RepoDb.Core/.editorconfig

-4
This file was deleted.

RepoDb.Core/RepoDb.Tests/RepoDb.IntegrationTests/RepoDb.IntegrationTests.csproj

+6-11
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
<Project Sdk="Microsoft.NET.Sdk">
2-
32
<PropertyGroup>
43
<TargetFrameworks>net6.0;net7.0;net8.0</TargetFrameworks>
54
<IsPackable>false</IsPackable>
5+
<IsTestProject>true</IsTestProject>
6+
<EnableMSTestRunner>true</EnableMSTestRunner>
7+
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
68
</PropertyGroup>
7-
89
<ItemGroup>
910
<Compile Remove="Types\Bytes\**" />
1011
<Compile Remove="Types\Dates\**" />
@@ -25,24 +26,18 @@
2526
<None Remove="Types\Spatials\**" />
2627
<None Remove="Types\Strings\**" />
2728
</ItemGroup>
28-
2929
<ItemGroup>
3030
<Compile Remove="ClassMappingTest.cs" />
3131
<Compile Remove="Operations\BaseRepositoryOperationsTest.cs" />
3232
<Compile Remove="Operations\DbRepositoryOperationsTest.cs" />
3333
<Compile Remove="Operations\SqlConnectionOperationsTest.cs" />
3434
</ItemGroup>
35-
3635
<ItemGroup>
37-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
38-
<PackageReference Include="Microsoft.SqlServer.Types" Version="160.1000.6" />
39-
<PackageReference Include="MSTest.TestAdapter" Version="3.1.1" />
40-
<PackageReference Include="MSTest.TestFramework" Version="3.1.1" />
36+
<PackageReference Include="Microsoft.SqlServer.Types" />
37+
<PackageReference Include="MSTest" />
4138
</ItemGroup>
42-
4339
<ItemGroup>
4440
<ProjectReference Include="..\..\..\RepoDb.SqlServer\RepoDb.SqlServer\RepoDb.SqlServer.csproj" />
4541
<ProjectReference Include="..\..\RepoDb\RepoDb.csproj" />
4642
</ItemGroup>
47-
48-
</Project>
43+
</Project>
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
<Project Sdk="Microsoft.NET.Sdk">
2-
32
<PropertyGroup>
43
<TargetFrameworks>net6.0;net7.0;net8.0</TargetFrameworks>
54
<IsPackable>false</IsPackable>
5+
<IsTestProject>true</IsTestProject>
6+
<EnableMSTestRunner>true</EnableMSTestRunner>
7+
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
68
</PropertyGroup>
7-
89
<ItemGroup>
910
<Compile Remove="Interfaces\ICacheForBaseRepositoryTest.cs" />
1011
<Compile Remove="Interfaces\ICacheForDbRepositoryTest.cs" />
@@ -15,17 +16,13 @@
1516
<Compile Remove="Mappers\ClassMapTest.cs" />
1617
<Compile Remove="Others\ClassMapTest.cs" />
1718
</ItemGroup>
18-
1919
<ItemGroup>
20-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
21-
<PackageReference Include="Moq" Version="4.20.69" />
22-
<PackageReference Include="MSTest.TestAdapter" Version="3.1.1" />
23-
<PackageReference Include="MSTest.TestFramework" Version="3.1.1" />
24-
<PackageReference Include="System.Dynamic.Runtime" Version="4.3.0" />
20+
<PackageReference Include="Moq" />
21+
<PackageReference Include="MSTest" />
22+
<PackageReference Include="System.Dynamic.Runtime" />
2523
</ItemGroup>
26-
2724
<ItemGroup>
2825
<ProjectReference Include="..\..\..\RepoDb.SqlServer\RepoDb.SqlServer\RepoDb.SqlServer.csproj" />
2926
<ProjectReference Include="..\..\RepoDb\RepoDb.csproj" />
3027
</ItemGroup>
31-
</Project>
28+
</Project>

0 commit comments

Comments
 (0)