Skip to content

Commit 6771159

Browse files
committed
Refactor solution structure: migrate from .sln to .slnx format, enable multi-targeting for .NET 10.0, centralize package management with Directory.Packages.props, and streamline workflows for GitHub Actions
1 parent 08ee9e0 commit 6771159

File tree

10 files changed

+75
-96
lines changed

10 files changed

+75
-96
lines changed

.github/workflows/onPullRequest-TestDotnet.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,15 @@ jobs:
1717
- name: Setup .NET
1818
uses: actions/setup-dotnet@v5
1919
with:
20-
dotnet-version: '9.x'
20+
dotnet-version: |
21+
9.x
22+
10.x
2123
2224
- name: Restore dependencies
23-
run: dotnet restore CodeOfChaos.Testing.sln
25+
run: dotnet restore CodeOfChaos.Testing.slnx
2426

2527
- name: Build
26-
run: dotnet build CodeOfChaos.Testing.sln --configuration Release --no-restore -p:GeneratePackageOnBuild=false -p:IsPackable=false
28+
run: dotnet build CodeOfChaos.Testing.slnx --configuration Release --no-restore -p:GeneratePackageOnBuild=false -p:IsPackable=false
2729

2830
- name: Run tests
29-
run: dotnet test CodeOfChaos.Testing.sln --configuration Release --no-restore --no-build
31+
run: dotnet test CodeOfChaos.Testing.slnx --configuration Release --no-restore --no-build

.github/workflows/release.yml

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,27 +13,25 @@ jobs:
1313
runs-on: ubuntu-latest
1414
steps:
1515
- name: Checkout repository
16-
uses: actions/checkout@v3
16+
uses: actions/checkout@v5
1717

1818
- name: Setup .NET
19-
uses: actions/setup-dotnet@v3
19+
uses: actions/setup-dotnet@v5
2020
with:
21-
dotnet-version: '9.x'
21+
dotnet-version: |
22+
9.x
23+
10.x
2224
2325
- name: Restore dependencies
24-
run: dotnet restore CodeOfChaos.Testing.sln
26+
run: dotnet restore CodeOfChaos.Testing.slnx
2527

2628
- name: Build
27-
run: dotnet build CodeOfChaos.Testing.sln --configuration Release --no-restore
29+
run: dotnet build CodeOfChaos.Testing.slnx --configuration Release --no-restore
2830

2931
# Ensure that the tests must pass
3032
# The job will fail automatically if any test fails because `dotnet test` exits with a non-zero code
31-
# - name: Run tests - Testing
32-
# run: dotnet run -c Release --no-restore --no-build
33-
# working-directory: "tests/Tests.CodeOfChaos.Testing"
3433
- name: Run tests - Testing.TUnit
35-
run: dotnet run -c Release --no-restore --no-build
36-
working-directory: "tests/Tests.CodeOfChaos.Testing.TUnit"
34+
run: dotnet test --configuration Release --no-restore --no-build
3735

3836
- name: Publish to NuGet
3937
env:

CodeOfChaos.Testing.sln

Lines changed: 0 additions & 61 deletions
This file was deleted.

CodeOfChaos.Testing.slnx

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<Solution>
2+
<Folder Name="/.dev-tools/">
3+
<File Path="Directory.Packages.props" />
4+
<Project Path="src/Tools.CodeOfChaos.Testing.TUnit/Tools.CodeOfChaos.Testing.TUnit.csproj" />
5+
</Folder>
6+
<Folder Name="/.dev-tools/github/">
7+
<File Path=".github/workflows/onPullRequest-TestDotnet.yml" />
8+
<File Path=".github/workflows/release.yml" />
9+
<File Path=".github/workflows/workflow-todo.yml" />
10+
</Folder>
11+
<Folder Name="/src/">
12+
<Project Path="src/CodeOfChaos.Testing.TUnit/CodeOfChaos.Testing.TUnit.csproj" />
13+
<Project Path="src/CodeOfChaos.Testing/CodeOfChaos.Testing.csproj" />
14+
</Folder>
15+
<Folder Name="/tests/">
16+
<Project Path="tests/Tests.CodeOfChaos.Testing.TUnit/Tests.CodeOfChaos.Testing.TUnit.csproj" />
17+
<Project Path="tests/Tests.CodeOfChaos.Testing/Tests.CodeOfChaos.Testing.csproj" />
18+
</Folder>
19+
</Solution>

Directory.Packages.props

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<Project>
2+
<PropertyGroup>
3+
<!-- Enable central package management, https://learn.microsoft.com/en-us/nuget/consume-packages/Central-Package-Management -->
4+
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
5+
</PropertyGroup>
6+
<ItemGroup>
7+
<PackageVersion Include="Bogus" Version="35.6.5" />
8+
<PackageVersion Include="CodeOfChaos.CliArgsParser.Library" Version="5.1.3" />
9+
<PackageVersion Include="JetBrains.Annotations" Version="2025.2.2" />
10+
<PackageVersion Include="Microsoft.CodeAnalysis" Version="4.14.0" />
11+
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.14.0" />
12+
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="4.14.0" />
13+
<PackageVersion Include="Microsoft.CodeAnalysis.Common" Version="4.14.0" />
14+
<PackageVersion Include="Microsoft.CodeAnalysis.Workspaces.Common" Version="4.14.0" />
15+
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.0" />
16+
<PackageVersion Include="Moq" Version="4.20.72" />
17+
<PackageVersion Include="TUnit" Version="1.1.10" />
18+
<PackageVersion Include="TUnit.Assertions" Version="1.1.10" />
19+
<PackageVersion Include="TUnit.Core" Version="1.1.10" />
20+
</ItemGroup>
21+
</Project>

src/CodeOfChaos.Testing.TUnit/CodeOfChaos.Testing.TUnit.csproj

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net9.0</TargetFramework>
4+
<TargetFrameworks>net9.0;net10.0</TargetFrameworks>
55
<LangVersion>latest</LangVersion>
66
<ImplicitUsings>enable</ImplicitUsings>
77
<Nullable>enable</Nullable>
@@ -29,10 +29,10 @@
2929
</ItemGroup>
3030

3131
<ItemGroup>
32-
<PackageReference Include="JetBrains.Annotations" Version="2025.2.2" />
33-
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="9.0.10" />
34-
<PackageReference Include="TUnit.Assertions" Version="1.0.48" />
35-
<PackageReference Include="TUnit.Core" Version="1.0.48" />
32+
<PackageReference Include="JetBrains.Annotations" />
33+
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" />
34+
<PackageReference Include="TUnit.Assertions" />
35+
<PackageReference Include="TUnit.Core" />
3636
</ItemGroup>
3737

3838
<ItemGroup>

src/CodeOfChaos.Testing/CodeOfChaos.Testing.csproj

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net9.0</TargetFramework>
4+
<TargetFrameworks>net9.0;net10.0</TargetFrameworks>
55
<ImplicitUsings>enable</ImplicitUsings>
66
<Nullable>enable</Nullable>
77

@@ -28,12 +28,12 @@
2828
</ItemGroup>
2929

3030
<ItemGroup>
31-
<PackageReference Include="JetBrains.Annotations" Version="2025.2.2" />
32-
<PackageReference Include="Microsoft.CodeAnalysis" Version="4.14.0" />
33-
<PackageReference Include="Microsoft.CodeAnalysis.Common" Version="4.14.0" />
34-
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.14.0" />
35-
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="4.14.0" />
36-
<PackageReference Include="Microsoft.CodeAnalysis.Workspaces.Common" Version="4.14.0" />
31+
<PackageReference Include="JetBrains.Annotations" />
32+
<PackageReference Include="Microsoft.CodeAnalysis" />
33+
<PackageReference Include="Microsoft.CodeAnalysis.Common" />
34+
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" />
35+
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" />
36+
<PackageReference Include="Microsoft.CodeAnalysis.Workspaces.Common" />
3737
</ItemGroup>
3838

3939
</Project>

src/Tools.CodeOfChaos.Testing.TUnit/Tools.CodeOfChaos.Testing.TUnit.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
55
<LangVersion>latest</LangVersion>
6-
<TargetFramework>net9.0</TargetFramework>
6+
<TargetFrameworks>net9.0;net10.0</TargetFrameworks>
77
<ImplicitUsings>enable</ImplicitUsings>
88
<Nullable>enable</Nullable>
99
</PropertyGroup>
1010

1111
<ItemGroup>
12-
<PackageReference Include="CodeOfChaos.CliArgsParser.Library" Version="5.1.2" />
12+
<PackageReference Include="CodeOfChaos.CliArgsParser.Library"/>
1313
</ItemGroup>
1414

1515
</Project>

tests/Tests.CodeOfChaos.Testing.TUnit/Tests.CodeOfChaos.Testing.TUnit.csproj

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net9.0</TargetFramework>
4+
<TargetFrameworks>net9.0;net10.0</TargetFrameworks>
55
<LangVersion>latest</LangVersion>
66
<ImplicitUsings>enable</ImplicitUsings>
77
<Nullable>enable</Nullable>
@@ -11,10 +11,10 @@
1111
</PropertyGroup>
1212

1313
<ItemGroup>
14-
<PackageReference Include="JetBrains.Annotations" Version="2025.2.2" />
15-
<PackageReference Include="Moq" Version="4.20.72"/>
16-
<PackageReference Include="TUnit" Version="1.0.48" />
17-
<PackageReference Include="Bogus" Version="35.6.5" />
14+
<PackageReference Include="JetBrains.Annotations"/>
15+
<PackageReference Include="Moq" />
16+
<PackageReference Include="TUnit" />
17+
<PackageReference Include="Bogus" />
1818
</ItemGroup>
1919

2020
<ItemGroup>
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net9.0</TargetFramework>
4+
<TargetFrameworks>net9.0;net10.0</TargetFrameworks>
55
<ImplicitUsings>enable</ImplicitUsings>
66
<Nullable>enable</Nullable>
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<PackageReference Include="TUnit" Version="1.0.48" />
10+
<PackageReference Include="TUnit"/>
1111
</ItemGroup>
1212

1313
</Project>

0 commit comments

Comments
 (0)