diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b84b919..9f8db0d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,9 +15,9 @@ jobs: strategy: matrix: include: - - os: windows-2019 + - os: windows-2022 name: Windows - - os: ubuntu-20.04 + - os: ubuntu-22.04 name: Linux fail-fast: false steps: @@ -28,9 +28,8 @@ jobs: - name: Setup .NET SDK uses: actions/setup-dotnet@v3.2.0 with: - dotnet-version: | - 7.0.x - 6.0.x + dotnet-version: 8.0.x + dotnet-quality: 'preview' - name: Build run: dotnet build src --configuration Release - name: Upload packages diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6d67465..0976bd8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,7 +8,7 @@ env: DOTNET_NOLOGO: true jobs: release: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Checkout uses: actions/checkout@v4.0.0 @@ -17,7 +17,8 @@ jobs: - name: Setup .NET SDK uses: actions/setup-dotnet@v3.2.0 with: - dotnet-version: 7.0.x + dotnet-version: 8.0.x + dotnet-quality: 'preview' - name: Build run: dotnet build src --configuration Release - name: Sign NuGet packages diff --git a/src/Custom.Build.props b/src/Custom.Build.props index c9966ee..5860032 100644 --- a/src/Custom.Build.props +++ b/src/Custom.Build.props @@ -1,7 +1,7 @@ - 4.1 + 5.0 minor diff --git a/src/NServiceBus.Heartbeat.AcceptanceTests/EndpointTemplates/DefaultServer.cs b/src/NServiceBus.Heartbeat.AcceptanceTests/EndpointTemplates/DefaultServer.cs index 943bd63..3dbe50e 100644 --- a/src/NServiceBus.Heartbeat.AcceptanceTests/EndpointTemplates/DefaultServer.cs +++ b/src/NServiceBus.Heartbeat.AcceptanceTests/EndpointTemplates/DefaultServer.cs @@ -33,7 +33,7 @@ public async Task GetConfiguration(RunDescriptor runDescr recoverability.Delayed(delayed => delayed.NumberOfRetries(0)); recoverability.Immediate(immediate => immediate.NumberOfRetries(0)); configuration.SendFailedMessagesTo("error"); - configuration.UseSerialization(); + configuration.UseSerialization(); await configuration.DefineTransport(runDescriptor, endpointConfiguration).ConfigureAwait(false); diff --git a/src/NServiceBus.Heartbeat.AcceptanceTests/InMemoryTransport.cs b/src/NServiceBus.Heartbeat.AcceptanceTests/InMemoryTransport.cs index fd4aaf6..87c4241 100644 --- a/src/NServiceBus.Heartbeat.AcceptanceTests/InMemoryTransport.cs +++ b/src/NServiceBus.Heartbeat.AcceptanceTests/InMemoryTransport.cs @@ -1,6 +1,5 @@ namespace NServiceBus.Heartbeat.AcceptanceTests { - using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; @@ -32,31 +31,24 @@ public Task Dispatch(TransportOperations outgoingMessages, TransportTransaction } public override Task Shutdown(CancellationToken cancellationToken = default) => Task.CompletedTask; -#pragma warning disable CS0618 - public override string ToTransportAddress(QueueAddress address) => transport.ToTransportAddress(address); -#pragma warning restore CS0618 + + public override string ToTransportAddress(QueueAddress address) => address.ToString(); } public InMemoryTransport() : base(TransportTransactionMode.None, true, true, true) { } -#pragma warning disable 1998 - public override async Task Initialize(HostSettings hostSettings, ReceiveSettings[] receivers, -#pragma warning restore 1998 + public override Task Initialize(HostSettings hostSettings, ReceiveSettings[] receivers, string[] sendingAddresses, CancellationToken cancellationToken = default) { var infrastructure = new InMemTransportInfrastructure(this); infrastructure.Initialize(); - return infrastructure; + return Task.FromResult(infrastructure); } - [Obsolete("Inject the ITransportAddressResolver type to access the address translation mechanism at runtime. See the NServiceBus version 8 upgrade guide for further details. Will be treated as an error from version 9.0.0. Will be removed in version 10.0.0.", false)] - public override string ToTransportAddress(QueueAddress address) => address.BaseAddress; - - public override IReadOnlyCollection GetSupportedTransactionModes() => - new[] { TransportTransactionMode.None }; + public override IReadOnlyCollection GetSupportedTransactionModes() => new[] { TransportTransactionMode.None }; } } \ No newline at end of file diff --git a/src/NServiceBus.Heartbeat.AcceptanceTests/NServiceBus.Heartbeat.AcceptanceTests.csproj b/src/NServiceBus.Heartbeat.AcceptanceTests/NServiceBus.Heartbeat.AcceptanceTests.csproj index 39e5d16..8315499 100644 --- a/src/NServiceBus.Heartbeat.AcceptanceTests/NServiceBus.Heartbeat.AcceptanceTests.csproj +++ b/src/NServiceBus.Heartbeat.AcceptanceTests/NServiceBus.Heartbeat.AcceptanceTests.csproj @@ -1,7 +1,7 @@ - net472;net6.0;net7.0 + net8.0 @@ -9,13 +9,12 @@ - - + - - + + diff --git a/src/NServiceBus.Heartbeat.AcceptanceTests/NServiceBusAcceptanceTest.cs b/src/NServiceBus.Heartbeat.AcceptanceTests/NServiceBusAcceptanceTest.cs index 30fda76..cc8ecb1 100644 --- a/src/NServiceBus.Heartbeat.AcceptanceTests/NServiceBusAcceptanceTest.cs +++ b/src/NServiceBus.Heartbeat.AcceptanceTests/NServiceBusAcceptanceTest.cs @@ -14,11 +14,6 @@ public abstract partial class NServiceBusAcceptanceTest [SetUp] public void SetUp() { -#if NET452 -// Hack: prevents SerializationException ... Type 'x' in assembly 'y' is not marked as serializable. -// https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/mitigation-deserialization-of-objects-across-app-domains - System.Configuration.ConfigurationManager.GetSection("X"); -#endif Conventions.EndpointNamingConvention = t => { var classAndEndpoint = t.FullName.Split('.').Last(); diff --git a/src/NServiceBus.Heartbeat.Tests/ApprovalFiles/APIApprovals.Approve.approved.txt b/src/NServiceBus.Heartbeat.Tests/ApprovalFiles/APIApprovals.Approve.approved.txt index 44e7563..fd97af8 100644 --- a/src/NServiceBus.Heartbeat.Tests/ApprovalFiles/APIApprovals.Approve.approved.txt +++ b/src/NServiceBus.Heartbeat.Tests/ApprovalFiles/APIApprovals.Approve.approved.txt @@ -1,4 +1,4 @@ -[assembly: System.Runtime.CompilerServices.InternalsVisibleTo(@"NServiceBus.Heartbeat.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100dde965e6172e019ac82c2639ffe494dd2e7dd16347c34762a05732b492e110f2e4e2e1b5ef2d85c848ccfb671ee20a47c8d1376276708dc30a90ff1121b647ba3b7259a6bc383b2034938ef0e275b58b920375ac605076178123693c6c4f1331661a62eba28c249386855637780e3ff5f23a6d854700eaa6803ef48907513b92")] +[assembly: System.Runtime.CompilerServices.InternalsVisibleTo(@"NServiceBus.Heartbeat.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001007f16e21368ff041183fab592d9e8ed37e7be355e93323147a1d29983d6e591b04282e4da0c9e18bd901e112c0033925eb7d7872c2f1706655891c5c9d57297994f707d16ee9a8f40d978f064ee1ffc73c0db3f4712691b23bf596f75130f4ec978cf78757ec034625a5f27e6bb50c618931ea49f6f628fd74271c32959efb1c5")] namespace NServiceBus { public static class HeartbeatConfigurationExtensions diff --git a/src/NServiceBus.Heartbeat.Tests/NServiceBus.Heartbeat.Tests.csproj b/src/NServiceBus.Heartbeat.Tests/NServiceBus.Heartbeat.Tests.csproj index 399b280..ee58302 100644 --- a/src/NServiceBus.Heartbeat.Tests/NServiceBus.Heartbeat.Tests.csproj +++ b/src/NServiceBus.Heartbeat.Tests/NServiceBus.Heartbeat.Tests.csproj @@ -1,9 +1,9 @@ - net472;net6.0;net7.0 + net8.0 true - $(SolutionDir)NServiceBus.snk + $(SolutionDir)NServiceBusTests.snk @@ -11,12 +11,9 @@ - - - - - - + + + diff --git a/src/NServiceBus.Heartbeat.sln b/src/NServiceBus.Heartbeat.sln index 8e27276..471bb06 100644 --- a/src/NServiceBus.Heartbeat.sln +++ b/src/NServiceBus.Heartbeat.sln @@ -11,7 +11,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NServiceBus.Heartbeat.Tests EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{5DB5F908-82DA-42E3-9724-9BEE35E63D18}" ProjectSection(SolutionItems) = preProject + ..\.github\workflows\ci.yml = ..\.github\workflows\ci.yml Custom.Build.props = Custom.Build.props + ..\.github\workflows\release.yml = ..\.github\workflows\release.yml EndProjectSection EndProject Global diff --git a/src/NServiceBus.Heartbeat/InternalsVisibleTo.cs b/src/NServiceBus.Heartbeat/InternalsVisibleTo.cs deleted file mode 100644 index 24fd2fc..0000000 --- a/src/NServiceBus.Heartbeat/InternalsVisibleTo.cs +++ /dev/null @@ -1,3 +0,0 @@ -using System.Runtime.CompilerServices; - -[assembly: InternalsVisibleTo("NServiceBus.Heartbeat.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100dde965e6172e019ac82c2639ffe494dd2e7dd16347c34762a05732b492e110f2e4e2e1b5ef2d85c848ccfb671ee20a47c8d1376276708dc30a90ff1121b647ba3b7259a6bc383b2034938ef0e275b58b920375ac605076178123693c6c4f1331661a62eba28c249386855637780e3ff5f23a6d854700eaa6803ef48907513b92")] diff --git a/src/NServiceBus.Heartbeat/NServiceBus.Heartbeat.csproj b/src/NServiceBus.Heartbeat/NServiceBus.Heartbeat.csproj index 962976b..1dcc66d 100644 --- a/src/NServiceBus.Heartbeat/NServiceBus.Heartbeat.csproj +++ b/src/NServiceBus.Heartbeat/NServiceBus.Heartbeat.csproj @@ -1,21 +1,22 @@ - net472;net6.0 + net8.0 true $(SolutionDir)NServiceBus.snk - - - Send heartbeat monitoring messages from NServiceBus endpoints - + + + + +