Skip to content

Commit 891eee7

Browse files
Support .NET 8, bump System.Text.Json from 6.0.0 to non-vulnerable 8.0.5 (#350)
* Support .NET 8, bump System.Text.Json from 6.0.0 to non-vulnerable 8.0.5 * Switch to Linux containers --------- Co-authored-by: Ilya Nikulshin <[email protected]>
1 parent c620662 commit 891eee7

File tree

9 files changed

+80
-53
lines changed

9 files changed

+80
-53
lines changed

.github/workflows/ci.yml

Lines changed: 71 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -13,77 +13,113 @@ permissions:
1313
contents: read
1414

1515
jobs:
16-
lint-and-tests:
17-
name: Lint & Tests
16+
lint-and-approval-tests:
17+
name: Lint & Approval Tests
1818
runs-on: ubuntu-latest
1919
timeout-minutes: 15
2020
steps:
21-
- name: Checkout
22-
uses: actions/checkout@v4
23-
with:
24-
fetch-depth: 0
25-
- name: Setup .NET Core 7.x
26-
uses: actions/setup-dotnet@v4
27-
with:
28-
dotnet-version: '7.x'
29-
- name: Install dependencies
30-
run: dotnet restore ${{ github.workspace }}/Source/EasyNetQ.Management.Client.sln
31-
- name: Check formatting
32-
run: dotnet format --no-restore --verify-no-changes --severity warn ./Source/EasyNetQ.Management.Client.sln || (echo "Run 'dotnet format' to fix issues" && exit 1)
33-
- name: Build
34-
run: dotnet build ${{ github.workspace }}/Source/EasyNetQ.Management.Client.sln --configuration Release
35-
- name: Tests
36-
run: |
37-
cd ${{ github.workspace }}/Source/EasyNetQ.Management.Client.Tests
38-
dotnet test --configuration Release --no-build
39-
- name: Approval Tests
40-
run: |
41-
cd ${{ github.workspace }}/Source/EasyNetQ.Management.Client.ApprovalTests
42-
dotnet test --configuration Release --no-build
21+
- name: Checkout
22+
uses: actions/checkout@v4
23+
with:
24+
fetch-depth: 0
25+
- name: Setup .NET Core 8.x
26+
uses: actions/setup-dotnet@v4
27+
with:
28+
dotnet-version: 8.x
29+
- name: Install dependencies
30+
run: dotnet restore ${{ github.workspace }}/Source/EasyNetQ.Management.Client.sln
31+
- name: Check formatting
32+
run: dotnet format --no-restore --verify-no-changes --severity warn ./Source/EasyNetQ.Management.Client.sln || (echo "Run 'dotnet format' to fix issues" && exit 1)
33+
- name: Build
34+
run: dotnet build ${{ github.workspace }}/Source/EasyNetQ.Management.Client.sln --configuration Release
35+
- name: Approval Tests
36+
run: |
37+
cd ${{ github.workspace }}/Source/EasyNetQ.Management.Client.ApprovalTests
38+
dotnet test --configuration Release --no-build
39+
40+
unit-tests:
41+
name: Unit Tests
42+
runs-on: ${{ matrix.os }}
43+
needs: lint-and-approval-tests
44+
timeout-minutes: 15
45+
strategy:
46+
max-parallel: 3
47+
matrix:
48+
include:
49+
- os: ubuntu-latest
50+
framework: net8.0
51+
- os: windows-latest
52+
framework: net48
53+
fail-fast: true
54+
steps:
55+
- name: Checkout
56+
uses: actions/checkout@v4
57+
with:
58+
fetch-depth: 0
59+
- name: Setup .NET Core 8.x
60+
uses: actions/setup-dotnet@v4
61+
with:
62+
dotnet-version: 8.x
63+
- name: Install dependencies
64+
run: dotnet restore ${{ github.workspace }}/Source/EasyNetQ.Management.Client.sln
65+
- name: Build
66+
run: dotnet build ${{ github.workspace }}/Source/EasyNetQ.Management.Client.sln --configuration Release
67+
- name: Tests
68+
run: |
69+
cd ${{ github.workspace }}/Source/EasyNetQ.Management.Client.Tests
70+
dotnet test --configuration Release --framework ${{ matrix.framework }} --no-build
4371
4472
integration-tests:
4573
name: Integrations Tests
46-
runs-on: ubuntu-latest
47-
needs: lint-and-tests
74+
runs-on: ${{ matrix.os }}
75+
needs: lint-and-approval-tests
4876
timeout-minutes: 15
4977
strategy:
50-
max-parallel: 3
78+
max-parallel: 6
5179
matrix:
52-
rabbitmq: ['3.10', '3.11', '3.12', '3.13']
80+
rabbitmq: ['3.12', '3.13']
81+
# os: [ubuntu-latest, windows-latest]
82+
os: [ubuntu-latest]
83+
include:
84+
- os: ubuntu-latest
85+
framework: net8.0
86+
# - os: windows-latest
87+
# framework: net48
5388
fail-fast: true
5489
steps:
5590
- name: Checkout
5691
uses: actions/checkout@v4
5792
with:
5893
fetch-depth: 0
59-
- name: Setup .NET Core 7.x
94+
- name: Setup .NET Core 8.x
6095
uses: actions/setup-dotnet@v4
6196
with:
62-
dotnet-version: 7.x
97+
dotnet-version: 8.x
6398
- name: Install dependencies
6499
run: dotnet restore ${{ github.workspace }}/Source/EasyNetQ.Management.Client.sln
65100
- name: Build
66101
run: dotnet build ${{ github.workspace }}/Source/EasyNetQ.Management.Client.sln --configuration Release
67102
- name: Integration Tests
103+
env:
104+
RABBITMQ_VERSION: ${{ matrix.rabbitmq }}
68105
run: |
69106
cd ${{ github.workspace }}/Source/EasyNetQ.Management.Client.IntegrationTests
70-
export RABBITMQ_VERSION=${{ matrix.rabbitmq }}
71-
dotnet test --configuration Release --no-build
107+
dotnet test --configuration Release --framework ${{ matrix.framework }} --no-build
72108
73109
publish-to-nuget:
74110
name: Publish to NuGet
75111
runs-on: ubuntu-latest
76-
needs: [lint-and-tests, integration-tests]
112+
needs: [lint-and-approval-tests, unit-tests, integration-tests]
77113
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
78114
steps:
79115
- name: Checkout
80116
uses: actions/checkout@v4
81117
with:
82118
fetch-depth: 0
83-
- name: Setup .NET Core 7.x
119+
- name: Setup .NET Core 8.x
84120
uses: actions/setup-dotnet@v4
85121
with:
86-
dotnet-version: '7.x'
122+
dotnet-version: 8.x
87123
- name: Install dependencies
88124
run: dotnet restore ${{ github.workspace }}/Source/EasyNetQ.Management.Client.sln
89125
- name: Build

Source/EasyNetQ.Management.Client.ApprovalTests/EasyNetQ.Management.Client.ApprovalTests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFramework>net7</TargetFramework>
3+
<TargetFramework>net8.0</TargetFramework>
44
<LangVersion>latest</LangVersion>
55
<ImplicitUsings>enable</ImplicitUsings>
66

Source/EasyNetQ.Management.Client.ApprovalTests/EasyNetQ.Management.Client.approved.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -445,7 +445,6 @@ namespace EasyNetQ.Management.Client
445445
{
446446
public UnexpectedHttpStatusCodeException() { }
447447
public UnexpectedHttpStatusCodeException(string message) { }
448-
protected UnexpectedHttpStatusCodeException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
449448
public UnexpectedHttpStatusCodeException(string message, System.Exception inner) { }
450449
protected UnexpectedHttpStatusCodeException(string message, System.Net.HttpStatusCode statusCode) { }
451450
public System.Net.HttpStatusCode StatusCode { get; }

Source/EasyNetQ.Management.Client.ExtensionsGenerator/EasyNetQ.Management.Client.ExtensionsGenerator.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
</PropertyGroup>
1212

1313
<ItemGroup>
14-
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.9.2" PrivateAssets="all" />
14+
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.8.0" PrivateAssets="all" />
1515
<PackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.4" PrivateAssets="all" />
1616
<PackageReference Include="PolySharp" Version="1.14.1">
1717
<PrivateAssets>all</PrivateAssets>

Source/EasyNetQ.Management.Client.IntegrationTests/EasyNetQ.Management.Client.IntegrationTests.csproj

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

33
<PropertyGroup>
4-
<TargetFramework>net7</TargetFramework>
4+
<TargetFrameworks>net48;net8.0</TargetFrameworks>
55
<LangVersion>latest</LangVersion>
66
<Nullable>enable</Nullable>
77
<ImplicitUsings>enable</ImplicitUsings>

Source/EasyNetQ.Management.Client.Tests/EasyNetQ.Management.Client.Tests.csproj

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

33
<PropertyGroup>
4-
<TargetFrameworks>net48;net7.0</TargetFrameworks>
4+
<TargetFrameworks>net48;net8.0</TargetFrameworks>
55
<LangVersion>latest</LangVersion>
66
<ImplicitUsings>enable</ImplicitUsings>
77

@@ -17,7 +17,7 @@
1717
</ItemGroup>
1818

1919
<ItemGroup>
20-
<PackageReference Include="System.Text.Json" Version="6.0.0" />
20+
<PackageReference Include="System.Text.Json" Version="8.0.5" />
2121
<PackageReference Include="FluentAssertions" Version="6.12.0" />
2222
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
2323
<PackageReference Include="xunit" Version="2.8.1" />

Source/EasyNetQ.Management.Client/EasyNetQ.Management.Client.csproj

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

33
<PropertyGroup>
4-
<TargetFrameworks>netstandard2.0;net6.0</TargetFrameworks>
4+
<TargetFrameworks>netstandard2.0;net6.0;net8.0</TargetFrameworks>
55
<LangVersion>latest</LangVersion>
66
<Nullable>enable</Nullable>
77

@@ -47,8 +47,8 @@
4747
</ItemGroup>
4848

4949
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
50-
<PackageReference Include="System.Text.Json" Version="6.0.0" />
51-
<PackageReference Include="System.Net.Http.Json" Version="6.0.0" />
50+
<PackageReference Include="System.Text.Json" Version="8.0.5" />
51+
<PackageReference Include="System.Net.Http.Json" Version="8.0.1" />
5252
</ItemGroup>
5353

5454
<ItemGroup>

Source/EasyNetQ.Management.Client/Serialization/JsonNumberEnumConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#if !NET8_0_OR_GREATER
1+
#if !NET8_0_OR_GREATER && !NETSTANDARD2_0
22

33
namespace System.Text.Json.Serialization;
44

Source/EasyNetQ.Management.Client/UnexpectedHttpStatusCodeException.cs

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using System.Net;
2-
using System.Runtime.Serialization;
32
using System.Text;
43

54
namespace EasyNetQ.Management.Client;
@@ -29,13 +28,6 @@ public UnexpectedHttpStatusCodeException(string message, Exception inner) : base
2928
{
3029
}
3130

32-
protected UnexpectedHttpStatusCodeException(
33-
SerializationInfo info,
34-
StreamingContext context
35-
) : base(info, context)
36-
{
37-
}
38-
3931
protected UnexpectedHttpStatusCodeException(string message, HttpStatusCode statusCode) : base(message)
4032
{
4133
StatusCode = statusCode;

0 commit comments

Comments
 (0)