From f2905185bc0b03339c7f13f8c98f02223ac67a28 Mon Sep 17 00:00:00 2001 From: StuartFerguson Date: Wed, 10 Dec 2025 18:11:15 +0000 Subject: [PATCH 1/9] net 10 upgrade completed --- .github/workflows/createrelease.yml | 173 ++++-------------- .github/workflows/nightlybuild.yml | 7 +- .github/workflows/pullrequest.yml | 5 - .github/workflows/pushtomaster.yml | 5 - ...ansactionProcessor.Aggregates.Tests.csproj | 14 +- .../TransactionProcessor.Aggregates.csproj | 10 +- .../Mediator/DummyTransactionDomainService.cs | 1 + ...actionProcessor.BusinessLogic.Tests.csproj | 22 +-- .../TransactionProcessor.BusinessLogic.csproj | 34 ++-- .../TransactionProcessor.Client.csproj | 6 +- ...actionProcessor.DataTransferObjects.csproj | 6 +- .../TransactionProcessor.Database.csproj | 22 +-- .../TransactionProcessor.DatabaseTests.csproj | 8 +- .../TransactionProcessor.DomainEvents.csproj | 4 +- ...rocessor.IntegrationTesting.Helpers.csproj | 16 +- ...ansactionProcessor.IntegrationTests.csproj | 40 ++-- .../TransactionProcessor.Models.csproj | 2 +- ...ionProcessor.ProjectionEngine.Tests.csproj | 12 +- ...ansactionProcessor.ProjectionEngine.csproj | 12 +- .../TransactionProcessor.Repository.csproj | 18 +- .../TransactionProcessor.Testing.csproj | 18 +- .../TransactionProcessor.Tests.csproj | 28 +-- .../Bootstrapper/MiddlewareRegistry.cs | 7 +- .../Bootstrapper/RepositoryRegistry.cs | 6 +- .../Common/SwaggerDefaultValues.cs | 2 +- TransactionProcessor/Dockerfile | 2 +- TransactionProcessor/Dockerfilewindows | 2 +- .../TransactionProcessor.csproj | 54 +++--- 28 files changed, 213 insertions(+), 323 deletions(-) diff --git a/.github/workflows/createrelease.yml b/.github/workflows/createrelease.yml index b73b63a7..c44178eb 100644 --- a/.github/workflows/createrelease.yml +++ b/.github/workflows/createrelease.yml @@ -5,7 +5,7 @@ on: types: [published] jobs: - buildlinux: + build: name: "Release" env: ASPNETCORE_ENVIRONMENT: "Production" @@ -14,11 +14,6 @@ jobs: steps: - uses: actions/checkout@v2.3.4 - - - name: Install NET 9 - uses: actions/setup-dotnet@v4.0.1 - with: - dotnet-version: '9.0.x' - name: Get the version id: get_version @@ -54,7 +49,7 @@ jobs: - name: Publish API if: ${{ github.event.release.prerelease == false }} - run: dotnet publish "TransactionProcessor\TransactionProcessor.csproj" --configuration Release --output publishOutput -r linux-x64 --self-contained + run: dotnet publish "TransactionProcessor\TransactionProcessor.csproj" --configuration Release --output publishOutput -r win-x64 --self-contained - name: Build Release Package run: | @@ -80,8 +75,8 @@ jobs: dotnet nuget push Nugets/TransactionProcessor.Database.${{ steps.get_version.outputs.VERSION }}.nupkg --api-key ${{ secrets.PRIVATEFEED_APIKEY }} --source ${{ secrets.PRIVATEFEED_URL }} --skip-duplicate deploystaging: - runs-on: [stagingserver,linux] - needs: buildlinux + runs-on: [stagingserver,windows] + needs: build environment: staging name: "Deploy to Staging" @@ -90,77 +85,31 @@ jobs: uses: actions/download-artifact@v4.1.8 with: name: transactionprocessor - path: /tmp/transactionprocessor # Download to a temporary directory - - name: Remove existing service (if applicable) + - name: Remove existing Windows service run: | - SERVICE_NAME="transactionprocessor" - if systemctl is-active --quiet "$SERVICE_NAME"; then - echo "Stopping existing service..." - sudo systemctl stop "$SERVICE_NAME" - fi - if systemctl is-enabled --quiet "$SERVICE_NAME"; then - echo "Disabling existing service..." - sudo systemctl disable "$SERVICE_NAME" - fi - if [ -f "/etc/systemd/system/${SERVICE_NAME}.service" ]; then - echo "Removing existing service unit file..." - sudo rm "/etc/systemd/system/${SERVICE_NAME}.service" - sudo systemctl daemon-reload - fi - + $serviceName = "Transaction Processing - Transaction Processor" + # Check if the service exists + if (Get-Service -Name $serviceName -ErrorAction SilentlyContinue) { + Stop-Service -Name $serviceName + sc.exe delete $serviceName + } + - name: Unzip the files run: | - sudo mkdir -p /opt/txnproc/transactionprocessing/transactionprocessor - sudo unzip -o /tmp/transactionprocessor/transactionprocessor.zip -d /opt/txnproc/transactionprocessing/transactionprocessor - - # IMPORTANT: Add a step to ensure the .NET runtime is installed on the server - # This assumes it's not already there. If your base image already has it, you can skip this. - - name: Install .NET Runtime - run: | - # Example for Ubuntu. Adjust based on your .NET version (e.g., 8.0, 7.0) - # and if you need the SDK or just the runtime. - # This uses Microsoft's package repository for the latest versions. - wget https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb - sudo dpkg -i packages-microsoft-prod.deb - rm packages-microsoft-prod.deb - sudo apt update - sudo apt install -y aspnetcore-runtime-9.0 - - - name: Install and Start as a Linux service + Expand-Archive -Path transactionprocessor.zip -DestinationPath "C:\txnproc\transactionprocessing\transactionprocessor" -Force + + - name: Install as a Windows service run: | - SERVICE_NAME="transactionprocessor" - # The WorkingDirectory is crucial for .NET apps to find appsettings.json and other files - WORKING_DIRECTORY="/opt/txnproc/transactionprocessing/transactionprocessor" - DLL_NAME="TransactionProcessor.dll" # Your application's DLL - SERVICE_DESCRIPTION="Transaction Processing - Transaction Processor" - - # Create a systemd service file - echo "[Unit]" | sudo tee /etc/systemd/system/${SERVICE_NAME}.service - echo "Description=${SERVICE_DESCRIPTION}" | sudo tee -a /etc/systemd/system/${SERVICE_NAME}.service - echo "After=network.target" | sudo tee -a /etc/systemd/system/${SERVICE_NAME}.service - echo "" | sudo tee -a /etc/systemd/system/${SERVICE_NAME}.service - echo "[Service]" | sudo tee -a /etc/systemd/system/${SERVICE_NAME}.service - # IMPORTANT: Use 'dotnet' to run your DLL - echo "ExecStart=/usr/bin/dotnet ${WORKING_DIRECTORY}/${DLL_NAME}" | sudo tee -a /etc/systemd/system/${SERVICE_NAME}.service - echo "WorkingDirectory=${WORKING_DIRECTORY}" | sudo tee -a /etc/systemd/system/${SERVICE_NAME}.service - echo "Restart=always" | sudo tee -a /etc/systemd/system/${SERVICE_NAME}.service - echo "User=youruser" # IMPORTANT: Change to a dedicated, less privileged user - echo "Group=yourgroup" # IMPORTANT: Change to a dedicated, less privileged group - echo "Environment=ASPNETCORE_ENVIRONMENT=Production" | sudo tee -a /etc/systemd/system/${SERVICE_NAME}.service # Example - echo "" | sudo tee -a /etc/systemd/system/${SERVICE_NAME}.service - echo "[Install]" | sudo tee -a /etc/systemd/system/${SERVICE_NAME}.service - echo "WantedBy=multi-user.target" | sudo tee -a /etc/systemd/system/${SERVICE_NAME}.service - - # Reload systemd, enable, and start the service - sudo systemctl daemon-reload - sudo systemctl enable "$SERVICE_NAME" - sudo systemctl start "$SERVICE_NAME" - sudo systemctl status "$SERVICE_NAME" --no-pager # For debugging/verification + $serviceName = "Transaction Processing - Transaction Processor" + $servicePath = "C:\txnproc\transactionprocessing\transactionprocessor\TransactionProcessor.exe" + + New-Service -Name $serviceName -BinaryPathName $servicePath -Description $serviceName -DisplayName $serviceName -StartupType Automatic + Start-Service -Name $serviceName deployproduction: - runs-on: [productionserver, linux] - needs: [buildlinux, deploystaging] + runs-on: [productionserver, windows] + needs: [build, deploystaging] environment: production name: "Deploy to Production" @@ -169,70 +118,24 @@ jobs: uses: actions/download-artifact@v4.1.8 with: name: transactionprocessor - path: /tmp/transactionprocessor # Download to a temporary directory - - name: Remove existing service (if applicable) + - name: Remove existing Windows service run: | - SERVICE_NAME="transactionprocessor" - if systemctl is-active --quiet "$SERVICE_NAME"; then - echo "Stopping existing service..." - sudo systemctl stop "$SERVICE_NAME" - fi - if systemctl is-enabled --quiet "$SERVICE_NAME"; then - echo "Disabling existing service..." - sudo systemctl disable "$SERVICE_NAME" - fi - if [ -f "/etc/systemd/system/${SERVICE_NAME}.service" ]; then - echo "Removing existing service unit file..." - sudo rm "/etc/systemd/system/${SERVICE_NAME}.service" - sudo systemctl daemon-reload - fi - + $serviceName = "Transaction Processing - Transaction Processor" + # Check if the service exists + if (Get-Service -Name $serviceName -ErrorAction SilentlyContinue) { + Stop-Service -Name $serviceName + sc.exe delete $serviceName + } + - name: Unzip the files run: | - sudo mkdir -p /opt/txnproc/transactionprocessing/transactionprocessor - sudo unzip -o /tmp/transactionprocessor/transactionprocessor.zip -d /opt/txnproc/transactionprocessing/transactionprocessor - - # IMPORTANT: Add a step to ensure the .NET runtime is installed on the server - # This assumes it's not already there. If your base image already has it, you can skip this. - - name: Install .NET Runtime - run: | - # Example for Ubuntu. Adjust based on your .NET version (e.g., 8.0, 7.0) - # and if you need the SDK or just the runtime. - # This uses Microsoft's package repository for the latest versions. - wget https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb - sudo dpkg -i packages-microsoft-prod.deb - rm packages-microsoft-prod.deb - sudo apt update - sudo apt install -y aspnetcore-runtime-9.0 - - - name: Install and Start as a Linux service + Expand-Archive -Path transactionprocessor.zip -DestinationPath "C:\txnproc\transactionprocessing\transactionprocessor" -Force + + - name: Install as a Windows service run: | - SERVICE_NAME="transactionprocessor" - # The WorkingDirectory is crucial for .NET apps to find appsettings.json and other files - WORKING_DIRECTORY="/opt/txnproc/transactionprocessing/transactionprocessor" - DLL_NAME="TransactionProcessor.dll" # Your application's DLL - SERVICE_DESCRIPTION="Transaction Processing - Transaction Processor" - - # Create a systemd service file - echo "[Unit]" | sudo tee /etc/systemd/system/${SERVICE_NAME}.service - echo "Description=${SERVICE_DESCRIPTION}" | sudo tee -a /etc/systemd/system/${SERVICE_NAME}.service - echo "After=network.target" | sudo tee -a /etc/systemd/system/${SERVICE_NAME}.service - echo "" | sudo tee -a /etc/systemd/system/${SERVICE_NAME}.service - echo "[Service]" | sudo tee -a /etc/systemd/system/${SERVICE_NAME}.service - # IMPORTANT: Use 'dotnet' to run your DLL - echo "ExecStart=/usr/bin/dotnet ${WORKING_DIRECTORY}/${DLL_NAME}" | sudo tee -a /etc/systemd/system/${SERVICE_NAME}.service - echo "WorkingDirectory=${WORKING_DIRECTORY}" | sudo tee -a /etc/systemd/system/${SERVICE_NAME}.service - echo "Restart=always" | sudo tee -a /etc/systemd/system/${SERVICE_NAME}.service - echo "User=youruser" # IMPORTANT: Change to a dedicated, less privileged user - echo "Group=yourgroup" # IMPORTANT: Change to a dedicated, less privileged group - echo "Environment=ASPNETCORE_ENVIRONMENT=Production" | sudo tee -a /etc/systemd/system/${SERVICE_NAME}.service # Example - echo "" | sudo tee -a /etc/systemd/system/${SERVICE_NAME}.service - echo "[Install]" | sudo tee -a /etc/systemd/system/${SERVICE_NAME}.service - echo "WantedBy=multi-user.target" | sudo tee -a /etc/systemd/system/${SERVICE_NAME}.service - - # Reload systemd, enable, and start the service - sudo systemctl daemon-reload - sudo systemctl enable "$SERVICE_NAME" - sudo systemctl start "$SERVICE_NAME" - sudo systemctl status "$SERVICE_NAME" --no-pager # For debugging/verification + $serviceName = "Transaction Processing - Transaction Processor" + $servicePath = "C:\txnproc\transactionprocessing\transactionprocessor\TransactionProcessor.exe" + + New-Service -Name $serviceName -BinaryPathName $servicePath -Description $serviceName -DisplayName $serviceName -StartupType Automatic + Start-Service -Name $serviceName diff --git a/.github/workflows/nightlybuild.yml b/.github/workflows/nightlybuild.yml index ab0612ce..3d7b9de0 100644 --- a/.github/workflows/nightlybuild.yml +++ b/.github/workflows/nightlybuild.yml @@ -16,11 +16,6 @@ jobs: steps: - uses: actions/checkout@v2.3.4 - - name: Install NET 9 - uses: actions/setup-dotnet@v4.0.1 - with: - dotnet-version: '9.0.x' - - name: Set Up Variables run: echo "action_url=$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" >> $GITHUB_ENV @@ -57,7 +52,7 @@ jobs: run: docker build . --file TransactionProcessor/Dockerfile --tag transactionprocessor:latest - name: Run Integration Tests - run: dotnet test "TransactionProcessor.IntegrationTests\TransactionProcessor.IntegrationTests.csproj" --logger "trx;LogFileName=test-results.trx" + run: dotnet test "TransactionProcessor.IntegrationTests\TransactionProcessor.IntegrationTests.csproj" - uses: actions/upload-artifact@v4.4.0 if: ${{ failure() }} diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index 463b121d..c7223020 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -16,11 +16,6 @@ jobs: steps: - uses: actions/checkout@v2.3.4 - - name: Install NET 9 - uses: actions/setup-dotnet@v4.0.1 - with: - dotnet-version: '9.0.306' - - name: Restore Nuget Packages run: dotnet restore TransactionProcessor.sln --source ${{ secrets.PUBLICFEEDURL }} --source ${{ secrets.PRIVATEFEED_URL }} diff --git a/.github/workflows/pushtomaster.yml b/.github/workflows/pushtomaster.yml index 880a1609..59ace93a 100644 --- a/.github/workflows/pushtomaster.yml +++ b/.github/workflows/pushtomaster.yml @@ -19,11 +19,6 @@ jobs: with: fetch-depth: 0 - - name: Install NET 9 - uses: actions/setup-dotnet@v4.0.1 - with: - dotnet-version: '9.0.x' - - name: Restore Nuget Packages run: dotnet restore TransactionProcessor.sln --source ${{ secrets.PUBLICFEEDURL }} --source ${{ secrets.PRIVATEFEED_URL }} diff --git a/TransactionProcessor.Aggregates.Tests/TransactionProcessor.Aggregates.Tests.csproj b/TransactionProcessor.Aggregates.Tests/TransactionProcessor.Aggregates.Tests.csproj index 12d995cc..e2bb1856 100644 --- a/TransactionProcessor.Aggregates.Tests/TransactionProcessor.Aggregates.Tests.csproj +++ b/TransactionProcessor.Aggregates.Tests/TransactionProcessor.Aggregates.Tests.csproj @@ -1,7 +1,7 @@  - net9.0 + net10.0 enable enable None @@ -14,18 +14,18 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + - - - + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + diff --git a/TransactionProcessor.Aggregates/TransactionProcessor.Aggregates.csproj b/TransactionProcessor.Aggregates/TransactionProcessor.Aggregates.csproj index 8d10c00c..76bfceee 100644 --- a/TransactionProcessor.Aggregates/TransactionProcessor.Aggregates.csproj +++ b/TransactionProcessor.Aggregates/TransactionProcessor.Aggregates.csproj @@ -1,16 +1,16 @@  - net9.0 + net10.0 enable enable - - - - + + + + diff --git a/TransactionProcessor.BusinessLogic.Tests/Mediator/DummyTransactionDomainService.cs b/TransactionProcessor.BusinessLogic.Tests/Mediator/DummyTransactionDomainService.cs index a0048070..5f36cbaa 100644 --- a/TransactionProcessor.BusinessLogic.Tests/Mediator/DummyTransactionDomainService.cs +++ b/TransactionProcessor.BusinessLogic.Tests/Mediator/DummyTransactionDomainService.cs @@ -1,4 +1,5 @@ using EventStore.Client; +using KurrentDB.Client; using Newtonsoft.Json; using SimpleResults; using TransactionProcessor.BusinessLogic.Requests; diff --git a/TransactionProcessor.BusinessLogic.Tests/TransactionProcessor.BusinessLogic.Tests.csproj b/TransactionProcessor.BusinessLogic.Tests/TransactionProcessor.BusinessLogic.Tests.csproj index 663aa3ab..9936a2e6 100644 --- a/TransactionProcessor.BusinessLogic.Tests/TransactionProcessor.BusinessLogic.Tests.csproj +++ b/TransactionProcessor.BusinessLogic.Tests/TransactionProcessor.BusinessLogic.Tests.csproj @@ -1,26 +1,26 @@  - net9.0 + net10.0 None false - - - - + + + + - - - - - - + + + + + + all diff --git a/TransactionProcessor.BusinessLogic/TransactionProcessor.BusinessLogic.csproj b/TransactionProcessor.BusinessLogic/TransactionProcessor.BusinessLogic.csproj index cdc9fe2d..8d12eb10 100644 --- a/TransactionProcessor.BusinessLogic/TransactionProcessor.BusinessLogic.csproj +++ b/TransactionProcessor.BusinessLogic/TransactionProcessor.BusinessLogic.csproj @@ -1,29 +1,29 @@  - net9.0 + net10.0 - - - - - - + + + + + + - - - - - + + + + + - - - - - + + + + + diff --git a/TransactionProcessor.Client/TransactionProcessor.Client.csproj b/TransactionProcessor.Client/TransactionProcessor.Client.csproj index afb7698a..43dcdc87 100644 --- a/TransactionProcessor.Client/TransactionProcessor.Client.csproj +++ b/TransactionProcessor.Client/TransactionProcessor.Client.csproj @@ -1,13 +1,13 @@  - net9.0 + net10.0 $(TargetsForTfmSpecificBuildOutput);IncludeP2PAssets - - + + diff --git a/TransactionProcessor.DataTransferObjects/TransactionProcessor.DataTransferObjects.csproj b/TransactionProcessor.DataTransferObjects/TransactionProcessor.DataTransferObjects.csproj index 108ef852..b233e500 100644 --- a/TransactionProcessor.DataTransferObjects/TransactionProcessor.DataTransferObjects.csproj +++ b/TransactionProcessor.DataTransferObjects/TransactionProcessor.DataTransferObjects.csproj @@ -1,14 +1,14 @@  - net9.0 + net10.0 None - + - + diff --git a/TransactionProcessor.Database/TransactionProcessor.Database.csproj b/TransactionProcessor.Database/TransactionProcessor.Database.csproj index 0fd2cd9b..08f5b7c6 100644 --- a/TransactionProcessor.Database/TransactionProcessor.Database.csproj +++ b/TransactionProcessor.Database/TransactionProcessor.Database.csproj @@ -1,7 +1,7 @@  - net9.0 + net10.0 enable enable Full @@ -10,19 +10,19 @@ - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - + + + + + + + + diff --git a/TransactionProcessor.DatabaseTests/TransactionProcessor.DatabaseTests.csproj b/TransactionProcessor.DatabaseTests/TransactionProcessor.DatabaseTests.csproj index 0cb3f2a1..5963a934 100644 --- a/TransactionProcessor.DatabaseTests/TransactionProcessor.DatabaseTests.csproj +++ b/TransactionProcessor.DatabaseTests/TransactionProcessor.DatabaseTests.csproj @@ -1,7 +1,7 @@  - net9.0 + net10.0 enable enable false @@ -14,15 +14,15 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/TransactionProcessor.DomainEvents/TransactionProcessor.DomainEvents.csproj b/TransactionProcessor.DomainEvents/TransactionProcessor.DomainEvents.csproj index a2ecf987..c19e1cae 100644 --- a/TransactionProcessor.DomainEvents/TransactionProcessor.DomainEvents.csproj +++ b/TransactionProcessor.DomainEvents/TransactionProcessor.DomainEvents.csproj @@ -1,11 +1,11 @@  - net9.0 + net10.0 enable enable - + diff --git a/TransactionProcessor.IntegrationTesting.Helpers/TransactionProcessor.IntegrationTesting.Helpers.csproj b/TransactionProcessor.IntegrationTesting.Helpers/TransactionProcessor.IntegrationTesting.Helpers.csproj index 936c0ce2..e5a00d44 100644 --- a/TransactionProcessor.IntegrationTesting.Helpers/TransactionProcessor.IntegrationTesting.Helpers.csproj +++ b/TransactionProcessor.IntegrationTesting.Helpers/TransactionProcessor.IntegrationTesting.Helpers.csproj @@ -1,20 +1,20 @@  - net9.0 + net10.0 enable enable - + - - - - - - + + + + + + diff --git a/TransactionProcessor.IntegrationTests/TransactionProcessor.IntegrationTests.csproj b/TransactionProcessor.IntegrationTests/TransactionProcessor.IntegrationTests.csproj index 9ee157ba..b4e89a54 100644 --- a/TransactionProcessor.IntegrationTests/TransactionProcessor.IntegrationTests.csproj +++ b/TransactionProcessor.IntegrationTests/TransactionProcessor.IntegrationTests.csproj @@ -1,39 +1,39 @@  - net9.0 + net10.0 Full false - + - + - - - - - - - + + + + + + + - + - - - + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - + + + + + + diff --git a/TransactionProcessor.Models/TransactionProcessor.Models.csproj b/TransactionProcessor.Models/TransactionProcessor.Models.csproj index b1f3a275..4ac763f3 100644 --- a/TransactionProcessor.Models/TransactionProcessor.Models.csproj +++ b/TransactionProcessor.Models/TransactionProcessor.Models.csproj @@ -1,7 +1,7 @@  - net9.0 + net10.0 None diff --git a/TransactionProcessor.ProjectionEngine.Tests/TransactionProcessor.ProjectionEngine.Tests.csproj b/TransactionProcessor.ProjectionEngine.Tests/TransactionProcessor.ProjectionEngine.Tests.csproj index 9972c500..11d572b3 100644 --- a/TransactionProcessor.ProjectionEngine.Tests/TransactionProcessor.ProjectionEngine.Tests.csproj +++ b/TransactionProcessor.ProjectionEngine.Tests/TransactionProcessor.ProjectionEngine.Tests.csproj @@ -1,7 +1,7 @@  - net9.0 + net10.0 enable enable None @@ -9,11 +9,11 @@ - - - - - + + + + + diff --git a/TransactionProcessor.ProjectionEngine/TransactionProcessor.ProjectionEngine.csproj b/TransactionProcessor.ProjectionEngine/TransactionProcessor.ProjectionEngine.csproj index f0f712f8..6ad1467f 100644 --- a/TransactionProcessor.ProjectionEngine/TransactionProcessor.ProjectionEngine.csproj +++ b/TransactionProcessor.ProjectionEngine/TransactionProcessor.ProjectionEngine.csproj @@ -1,7 +1,7 @@  - net9.0 + net10.0 enable enable @@ -9,11 +9,11 @@ - - - - - + + + + + diff --git a/TransactionProcessor.Repository/TransactionProcessor.Repository.csproj b/TransactionProcessor.Repository/TransactionProcessor.Repository.csproj index 95ee6e97..2e81031c 100644 --- a/TransactionProcessor.Repository/TransactionProcessor.Repository.csproj +++ b/TransactionProcessor.Repository/TransactionProcessor.Repository.csproj @@ -1,7 +1,7 @@  - net9.0 + net10.0 enable enable None @@ -10,14 +10,14 @@ - - - - - - - - + + + + + + + + diff --git a/TransactionProcessor.Testing/TransactionProcessor.Testing.csproj b/TransactionProcessor.Testing/TransactionProcessor.Testing.csproj index 12bfff05..5d3aa178 100644 --- a/TransactionProcessor.Testing/TransactionProcessor.Testing.csproj +++ b/TransactionProcessor.Testing/TransactionProcessor.Testing.csproj @@ -1,20 +1,20 @@  - net9.0 + net10.0 None - + - - - - - - - + + + + + + + diff --git a/TransactionProcessor.Tests/TransactionProcessor.Tests.csproj b/TransactionProcessor.Tests/TransactionProcessor.Tests.csproj index 5b2decee..8edeacbc 100644 --- a/TransactionProcessor.Tests/TransactionProcessor.Tests.csproj +++ b/TransactionProcessor.Tests/TransactionProcessor.Tests.csproj @@ -1,27 +1,27 @@  - net9.0 + net10.0 None false - - - - - - - + + + + + + + - + - - - - - + + + + + all diff --git a/TransactionProcessor/Bootstrapper/MiddlewareRegistry.cs b/TransactionProcessor/Bootstrapper/MiddlewareRegistry.cs index da41f870..575c5e36 100644 --- a/TransactionProcessor/Bootstrapper/MiddlewareRegistry.cs +++ b/TransactionProcessor/Bootstrapper/MiddlewareRegistry.cs @@ -1,5 +1,7 @@ -using Microsoft.IdentityModel.Logging; +using KurrentDB.Client; +using Microsoft.IdentityModel.Logging; using Microsoft.IdentityModel.Tokens; +using Microsoft.OpenApi; namespace TransactionProcessor.Bootstrapper { @@ -10,7 +12,6 @@ namespace TransactionProcessor.Bootstrapper using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Diagnostics.HealthChecks; - using Microsoft.OpenApi.Models; using Newtonsoft.Json; using Newtonsoft.Json.Serialization; using Shared.Authorisation; @@ -39,7 +40,7 @@ public class MiddlewareRegistry : ServiceRegistry public MiddlewareRegistry() { String connectionString = Startup.Configuration.GetValue("EventStoreSettings:ConnectionString"); - EventStoreClientSettings eventStoreClientSettings = EventStoreClientSettings.Create(connectionString); + KurrentDBClientSettings eventStoreClientSettings = KurrentDBClientSettings.Create(connectionString); this.AddHealthChecks() .AddEventStore(eventStoreClientSettings, diff --git a/TransactionProcessor/Bootstrapper/RepositoryRegistry.cs b/TransactionProcessor/Bootstrapper/RepositoryRegistry.cs index 7e2a700e..30198b25 100644 --- a/TransactionProcessor/Bootstrapper/RepositoryRegistry.cs +++ b/TransactionProcessor/Bootstrapper/RepositoryRegistry.cs @@ -41,9 +41,9 @@ public RepositoryRegistry() { string eventStoreConnectionString = Startup.Configuration.GetValue("EventStoreSettings:ConnectionString"); - this.AddEventStoreProjectionManagementClient(eventStoreConnectionString); - this.AddEventStorePersistentSubscriptionsClient(eventStoreConnectionString); - this.AddEventStoreClient(eventStoreConnectionString); + this.AddKurrentDBProjectionManagementClient(eventStoreConnectionString); + this.AddKurrentDBPersistentSubscriptionsClient(eventStoreConnectionString); + this.AddKurrentDBClient(eventStoreConnectionString); this.AddSingleton>(cont => (esConnString, cacheDuration) => SubscriptionRepository.Create(esConnString, cacheDuration)); diff --git a/TransactionProcessor/Common/SwaggerDefaultValues.cs b/TransactionProcessor/Common/SwaggerDefaultValues.cs index deb16736..2c15b805 100644 --- a/TransactionProcessor/Common/SwaggerDefaultValues.cs +++ b/TransactionProcessor/Common/SwaggerDefaultValues.cs @@ -1,10 +1,10 @@ using System.Linq; +using Microsoft.OpenApi; namespace TransactionProcessor.Common { using System.Diagnostics.CodeAnalysis; using Microsoft.AspNetCore.Mvc.ApiExplorer; - using Microsoft.OpenApi.Models; using Swashbuckle.AspNetCore.SwaggerGen; /// diff --git a/TransactionProcessor/Dockerfile b/TransactionProcessor/Dockerfile index d56448a3..368cf3cc 100644 --- a/TransactionProcessor/Dockerfile +++ b/TransactionProcessor/Dockerfile @@ -1,7 +1,7 @@ FROM stuartferguson/txnprocbase:latest AS base WORKDIR /app -FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build +FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build WORKDIR /src COPY ["TransactionProcessor/NuGet.Config", "."] COPY ["TransactionProcessor/TransactionProcessor.csproj", "TransactionProcessor/"] diff --git a/TransactionProcessor/Dockerfilewindows b/TransactionProcessor/Dockerfilewindows index 40a8464f..153d6197 100644 --- a/TransactionProcessor/Dockerfilewindows +++ b/TransactionProcessor/Dockerfilewindows @@ -2,7 +2,7 @@ FROM stuartferguson/txnprocbasewindows AS base USER ContainerAdministrator WORKDIR /app -FROM mcr.microsoft.com/dotnet/sdk:9.0-windowsservercore-ltsc2022 AS build +FROM mcr.microsoft.com/dotnet/sdk:10.0-windowsservercore-ltsc2022 AS build WORKDIR /src COPY ["TransactionProcessor/NuGet.Config", "."] COPY ["TransactionProcessor/TransactionProcessor.csproj", "TransactionProcessor/"] diff --git a/TransactionProcessor/TransactionProcessor.csproj b/TransactionProcessor/TransactionProcessor.csproj index 94d7d5a4..5b5b111a 100644 --- a/TransactionProcessor/TransactionProcessor.csproj +++ b/TransactionProcessor/TransactionProcessor.csproj @@ -1,7 +1,7 @@  - net9.0 + net10.0 Linux @@ -10,7 +10,7 @@ - + @@ -18,37 +18,37 @@ - - - - + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + - - + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + From 0afe01d979c7a4f4436c84bbf381586701b57fe7 Mon Sep 17 00:00:00 2001 From: StuartFerguson Date: Wed, 10 Dec 2025 19:32:08 +0000 Subject: [PATCH 2/9] :| --- .github/workflows/pullrequest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index c7223020..0f4524ab 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -11,7 +11,7 @@ jobs: env: ASPNETCORE_ENVIRONMENT: "Production" - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2.3.4 From f24f2ebd5a43354bccd7228e5945dfa2e9f13589 Mon Sep 17 00:00:00 2001 From: StuartFerguson Date: Wed, 10 Dec 2025 20:14:53 +0000 Subject: [PATCH 3/9] :| --- .github/workflows/pullrequest.yml | 2 +- TransactionProcessor.sln | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index 0f4524ab..e3d0db94 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -11,7 +11,7 @@ jobs: env: ASPNETCORE_ENVIRONMENT: "Production" - runs-on: ubuntu-latest + runs-on: ubuntu-latest-xl steps: - uses: actions/checkout@v2.3.4 diff --git a/TransactionProcessor.sln b/TransactionProcessor.sln index b40bf2e7..83dc7f1a 100644 --- a/TransactionProcessor.sln +++ b/TransactionProcessor.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.31717.71 +# Visual Studio Version 18 +VisualStudioVersion = 18.1.11304.174 d18.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TransactionProcessor", "TransactionProcessor\TransactionProcessor.csproj", "{1EBD3402-AF91-4919-A5A1-2E3728918507}" EndProject From fc40795f5f66e79a586f07ab00d078c6476e549b Mon Sep 17 00:00:00 2001 From: StuartFerguson Date: Wed, 10 Dec 2025 21:29:02 +0000 Subject: [PATCH 4/9] .. --- .github/workflows/pullrequest.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index e3d0db94..bcacc4f9 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -16,6 +16,20 @@ jobs: steps: - uses: actions/checkout@v2.3.4 + - name: Free Disk Space + uses: endersonmenezes/free-disk-space@v3 # Use @main for latest, @v3 for stable + with: + remove_android: true + remove_haskell: true + remove_tool_cache: true + remove_swap: true + remove_packages: "azure-cli google-cloud-cli microsoft-edge-stable google-chrome-stable firefox postgresql* temurin-* *llvm* mysql* + remove_packages_one_command: true + remove_folders: "/usr/share/swift /usr/share/miniconda /usr/share/az* /usr/local/lib/node_modules /usr/local/share/chromium /usr/local/share/powershell /usr/local/julia /usr/local/aws-cli /usr/local/aws-sam-cli /usr/share/gradle" + rm_cmd: "rm" # Use 'rmz' for faster deletion (default: 'rm') + rmz_version: "3.1.1" # Required when rm_cmd is 'rmz' + testing: false + - name: Restore Nuget Packages run: dotnet restore TransactionProcessor.sln --source ${{ secrets.PUBLICFEEDURL }} --source ${{ secrets.PRIVATEFEED_URL }} From 422ee781a741d08d48595567b49b8845a9c7d07e Mon Sep 17 00:00:00 2001 From: StuartFerguson Date: Wed, 10 Dec 2025 21:30:58 +0000 Subject: [PATCH 5/9] :| --- .github/workflows/pullrequest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index bcacc4f9..8ae092a2 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -11,7 +11,7 @@ jobs: env: ASPNETCORE_ENVIRONMENT: "Production" - runs-on: ubuntu-latest-xl + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2.3.4 From 50713341ce828bf4e26b811ed83a2d2b2324161b Mon Sep 17 00:00:00 2001 From: StuartFerguson Date: Wed, 10 Dec 2025 21:34:58 +0000 Subject: [PATCH 6/9] :| :| --- .github/workflows/pullrequest.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index 8ae092a2..fbb87094 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -30,6 +30,7 @@ jobs: rmz_version: "3.1.1" # Required when rm_cmd is 'rmz' testing: false + - name: Restore Nuget Packages run: dotnet restore TransactionProcessor.sln --source ${{ secrets.PUBLICFEEDURL }} --source ${{ secrets.PRIVATEFEED_URL }} From 62a66227e320d0e407f99ba58b0ae0f9b3fd57e6 Mon Sep 17 00:00:00 2001 From: StuartFerguson Date: Wed, 10 Dec 2025 21:36:03 +0000 Subject: [PATCH 7/9] :( --- .github/workflows/pullrequest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index fbb87094..0b221ae9 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -23,7 +23,7 @@ jobs: remove_haskell: true remove_tool_cache: true remove_swap: true - remove_packages: "azure-cli google-cloud-cli microsoft-edge-stable google-chrome-stable firefox postgresql* temurin-* *llvm* mysql* + remove_packages: "azure-cli google-cloud-cli microsoft-edge-stable google-chrome-stable firefox postgresql* temurin-* *llvm* mysql*" remove_packages_one_command: true remove_folders: "/usr/share/swift /usr/share/miniconda /usr/share/az* /usr/local/lib/node_modules /usr/local/share/chromium /usr/local/share/powershell /usr/local/julia /usr/local/aws-cli /usr/local/aws-sam-cli /usr/share/gradle" rm_cmd: "rm" # Use 'rmz' for faster deletion (default: 'rm') From db6f5d47e7241c2de97100ee0757e9de9bc082ca Mon Sep 17 00:00:00 2001 From: StuartFerguson Date: Wed, 10 Dec 2025 22:04:37 +0000 Subject: [PATCH 8/9] :| --- .github/workflows/pullrequest.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index 0b221ae9..a3fd5bed 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -21,7 +21,6 @@ jobs: with: remove_android: true remove_haskell: true - remove_tool_cache: true remove_swap: true remove_packages: "azure-cli google-cloud-cli microsoft-edge-stable google-chrome-stable firefox postgresql* temurin-* *llvm* mysql*" remove_packages_one_command: true From df9adc6acdbc3861e68814e7e2995b0344ad9ef6 Mon Sep 17 00:00:00 2001 From: StuartFerguson Date: Thu, 11 Dec 2025 08:47:57 +0000 Subject: [PATCH 9/9] :| --- .github/workflows/pullrequest.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index a3fd5bed..93c1200f 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -21,10 +21,6 @@ jobs: with: remove_android: true remove_haskell: true - remove_swap: true - remove_packages: "azure-cli google-cloud-cli microsoft-edge-stable google-chrome-stable firefox postgresql* temurin-* *llvm* mysql*" - remove_packages_one_command: true - remove_folders: "/usr/share/swift /usr/share/miniconda /usr/share/az* /usr/local/lib/node_modules /usr/local/share/chromium /usr/local/share/powershell /usr/local/julia /usr/local/aws-cli /usr/local/aws-sam-cli /usr/share/gradle" rm_cmd: "rm" # Use 'rmz' for faster deletion (default: 'rm') rmz_version: "3.1.1" # Required when rm_cmd is 'rmz' testing: false