From 3ddd88bec2441234027b8ace1275f03e5fc12e0c Mon Sep 17 00:00:00 2001 From: Aaron Stannard Date: Thu, 9 Apr 2026 20:47:38 +0000 Subject: [PATCH 1/3] Upgrade to .NET 10, Akka.NET 1.5.64, remove NUKE, migrate to .slnx - Upgrade all 18 projects from net8.0/net9.0 to net10.0 - Upgrade Akka.NET packages to latest: core 1.5.64, Management/Discovery 1.5.63, Persistence.Sql.Hosting 1.5.62, Streams.Amqp.RabbitMq 1.5.59 - Upgrade all other dependencies: EF Core 10.0.1, MudBlazor 9.3.0, Aspire 13.2.2, Microsoft.Data.SqlClient 7.0.0, Autofac 11.0.0, xunit 2.9.3, Grpc.Tools 2.76.0, Bogus 35.6.5, SourceLink 10.0.201 - Remove NUKE build system (build/, .nuke/, build.sh, build.cmd) - Replace with minimal build.ps1 + PowerShell helper scripts - Add global.json to pin .NET 10 SDK - Move Directory.Build.props to repo root - Migrate all 7 .sln files to .slnx format - Rewrite GitHub Actions CI with per-solution matrix strategy - Expand dependabot coverage to all sample directories with weekly schedule - Update Dockerfiles to .NET 10 base images --- .github/dependabot.yml | 68 +++-- .github/workflows/pr_validation.yml | 110 +++----- .nuke/build.schema.json | 126 --------- .nuke/parameters.json | 3 - Directory.Build.props | 28 ++ RELEASE_NOTES.md | 2 +- build.cmd | 7 - build.ps1 | 244 +----------------- build.sh | 62 ----- build/.editorconfig | 11 - build/Build.CI.GitHubActions.cs | 97 ------- build/Build.cs | 192 -------------- build/Configuration.cs | 16 -- build/Directory.Build.props | 8 - build/Directory.Build.targets | 8 - build/_build.csproj | 18 -- build/_build.csproj.DotSettings | 27 -- global.json | 6 + .../src/Akka.SqlInitContainer.sln | 22 -- .../src/Akka.SqlInitContainer.slnx | 3 + .../Akka.SqlInitContainer.csproj | 3 +- .../src/Akka.SqlInitContainer/Dockerfile | 4 +- scripts/bumpVersion.ps1 | 28 ++ scripts/getReleaseNotes.ps1 | 44 ++++ src/Directory.Build.props | 36 --- .../cluster-bootstrap/Aspire/Aspire.sln | 27 -- .../cluster-bootstrap/Aspire/Aspire.slnx | 7 + .../SimpleCluster.AppHost.csproj | 6 +- .../SimpleCluster.Node.csproj | 10 +- .../ClusterClientSample.FrontEnd.csproj | 2 +- .../ClusterClientSample.Gateway.csproj | 2 +- .../ClusterClientSample.Node.csproj | 2 +- .../cluster-client/ClusterClientSample.sln | 41 --- .../cluster-client/ClusterClientSample.slnx | 11 + .../cluster-client/Directory.Build.props | 14 +- .../cluster-client/Directory.Packages.props | 6 +- .../sharding-sqlserver/ShardingSqlServer.sln | 34 --- .../sharding-sqlserver/ShardingSqlServer.slnx | 5 + .../SqlSharding.Shared.csproj | 4 +- .../SqlSharding.Sql.Host/Dockerfile | 4 +- .../SqlSharding.Sql.Host.csproj | 4 +- .../SqlSharding.WebApp/Dockerfile | 4 +- .../CqrsSqlServer.Backend.csproj | 4 +- .../CqrsSqlServer.DataModel.csproj | 6 +- .../CqrsSqlServer.Frontend.csproj | 4 +- .../CqrsSqlServer.Shared.csproj | 6 +- src/cqrs/cqrs-sqlserver/CqrsSqlServer.sln | 42 --- src/cqrs/cqrs-sqlserver/CqrsSqlServer.slnx | 6 + .../AutofacIntegration/AutofacIntegration.sln | 16 -- .../AutofacIntegration.slnx | 3 + .../AutofacIntegration.csproj | 4 +- .../ReliableRabbitMQ.Consumer.csproj | 2 +- .../ReliableRabbitMQ.Producer.csproj | 2 +- .../ReliableRabbitMQ.Shared.csproj | 2 +- .../ReliableRabbitMQ.sln | 34 --- .../ReliableRabbitMQ.slnx | 5 + 56 files changed, 286 insertions(+), 1206 deletions(-) delete mode 100644 .nuke/build.schema.json delete mode 100644 .nuke/parameters.json create mode 100644 Directory.Build.props delete mode 100644 build.cmd delete mode 100644 build.sh delete mode 100644 build/.editorconfig delete mode 100644 build/Build.CI.GitHubActions.cs delete mode 100644 build/Build.cs delete mode 100644 build/Configuration.cs delete mode 100644 build/Directory.Build.props delete mode 100644 build/Directory.Build.targets delete mode 100644 build/_build.csproj delete mode 100644 build/_build.csproj.DotSettings create mode 100644 global.json delete mode 100644 infrastructure/mssql-init-container/src/Akka.SqlInitContainer.sln create mode 100644 infrastructure/mssql-init-container/src/Akka.SqlInitContainer.slnx create mode 100644 scripts/bumpVersion.ps1 create mode 100644 scripts/getReleaseNotes.ps1 delete mode 100644 src/Directory.Build.props delete mode 100644 src/clustering/cluster-bootstrap/Aspire/Aspire.sln create mode 100644 src/clustering/cluster-bootstrap/Aspire/Aspire.slnx delete mode 100644 src/clustering/cluster-client/ClusterClientSample.sln create mode 100644 src/clustering/cluster-client/ClusterClientSample.slnx delete mode 100644 src/clustering/sharding-sqlserver/ShardingSqlServer.sln create mode 100644 src/clustering/sharding-sqlserver/ShardingSqlServer.slnx delete mode 100644 src/cqrs/cqrs-sqlserver/CqrsSqlServer.sln create mode 100644 src/cqrs/cqrs-sqlserver/CqrsSqlServer.slnx delete mode 100644 src/dependency-injection/AutofacIntegration/AutofacIntegration.sln create mode 100644 src/dependency-injection/AutofacIntegration/AutofacIntegration.slnx delete mode 100644 src/reliability/rabbitmq-backpressure/ReliableRabbitMQ.sln create mode 100644 src/reliability/rabbitmq-backpressure/ReliableRabbitMQ.slnx diff --git a/.github/dependabot.yml b/.github/dependabot.yml index f9b908a6..405d765e 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,26 +1,46 @@ version: 2 updates: -- package-ecosystem: github-actions - directory: "/" - schedule: - interval: daily - time: "11:00" -- package-ecosystem: nuget - directory: "/src/clustering/sharding-sqlserver" - schedule: - interval: daily - time: "11:00" - open-pull-requests-limit: 10 -- package-ecosystem: nuget - directory: "/src/reliability/rabbitmq-backpressure" - schedule: - interval: daily - time: "11:00" - open-pull-requests-limit: 10 -- package-ecosystem: nuget - directory: "/" - schedule: - interval: daily - time: "11:00" - open-pull-requests-limit: 10 - + - package-ecosystem: github-actions + directory: "/" + schedule: + interval: weekly + - package-ecosystem: nuget + directory: "/" + schedule: + interval: weekly + open-pull-requests-limit: 10 + groups: + akka: + patterns: ["Akka*", "Petabridge*"] + microsoft: + patterns: ["Microsoft*"] + - package-ecosystem: nuget + directory: "/src/clustering/sharding-sqlserver" + schedule: + interval: weekly + open-pull-requests-limit: 5 + - package-ecosystem: nuget + directory: "/src/clustering/cluster-bootstrap/Aspire" + schedule: + interval: weekly + open-pull-requests-limit: 5 + - package-ecosystem: nuget + directory: "/src/clustering/cluster-client" + schedule: + interval: weekly + open-pull-requests-limit: 5 + - package-ecosystem: nuget + directory: "/src/cqrs/cqrs-sqlserver" + schedule: + interval: weekly + open-pull-requests-limit: 5 + - package-ecosystem: nuget + directory: "/src/reliability/rabbitmq-backpressure" + schedule: + interval: weekly + open-pull-requests-limit: 5 + - package-ecosystem: nuget + directory: "/infrastructure/mssql-init-container/src" + schedule: + interval: weekly + open-pull-requests-limit: 5 diff --git a/.github/workflows/pr_validation.yml b/.github/workflows/pr_validation.yml index 41a66aaa..06d8e979 100644 --- a/.github/workflows/pr_validation.yml +++ b/.github/workflows/pr_validation.yml @@ -1,19 +1,3 @@ -# ------------------------------------------------------------------------------ -# -# -# This code was generated. -# -# - To turn off auto-generation set: -# -# [CustomGitHubActions (AutoGenerate = false)] -# -# - To trigger manual generation invoke: -# -# nuke --generate-configuration GitHubActions_pr_validation --host GitHubActions -# -# -# ------------------------------------------------------------------------------ - name: pr_validation on: @@ -27,61 +11,45 @@ on: - dev jobs: - windows-latest: - name: windows-latest - runs-on: windows-latest - steps: - - uses: actions/checkout@v4 - - name: Make build.sh executable - run: chmod +x ./build.sh - - name: Make build.cmd executable - run: chmod +x ./build.cmd - - uses: actions/setup-dotnet@v5 - with: - dotnet-version: 6.0.* - - uses: actions/setup-dotnet@v5 - with: - dotnet-version: 8.0.* - - uses: actions/setup-dotnet@v5 - with: - dotnet-version: 9.0.* - - name: Cache .nuke/temp, ~/.nuget/packages - uses: actions/cache@v4 - with: - path: | - .nuke/temp - ~/.nuget/packages - key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj') }} - - name: Run './build.cmd All' - run: ./build.cmd All - env: - GITHUB_CONTEXT: ${{ toJSON(github) }} - ubuntu-latest: - name: ubuntu-latest - runs-on: ubuntu-latest + build: + name: ${{ matrix.solution-name }}-${{ matrix.os }} + runs-on: ${{ matrix.os }} + timeout-minutes: 15 + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, windows-latest] + include: + - solution-name: ShardingSqlServer + solution-path: src/clustering/sharding-sqlserver/ShardingSqlServer.slnx + - solution-name: ClusterClient + solution-path: src/clustering/cluster-client/ClusterClientSample.slnx + - solution-name: Aspire + solution-path: src/clustering/cluster-bootstrap/Aspire/Aspire.slnx + - solution-name: CqrsSqlServer + solution-path: src/cqrs/cqrs-sqlserver/CqrsSqlServer.slnx + - solution-name: AutofacIntegration + solution-path: src/dependency-injection/AutofacIntegration/AutofacIntegration.slnx + - solution-name: ReliableRabbitMQ + solution-path: src/reliability/rabbitmq-backpressure/ReliableRabbitMQ.slnx + - solution-name: SqlInitContainer + solution-path: infrastructure/mssql-init-container/src/Akka.SqlInitContainer.slnx steps: - - uses: actions/checkout@v4 - - name: Make build.sh executable - run: chmod +x ./build.sh - - name: Make build.cmd executable - run: chmod +x ./build.cmd - - uses: actions/setup-dotnet@v5 + - uses: actions/checkout@v6 with: - dotnet-version: 6.0.* - - uses: actions/setup-dotnet@v5 - with: - dotnet-version: 8.0.* - - uses: actions/setup-dotnet@v5 - with: - dotnet-version: 9.0.* - - name: Cache .nuke/temp, ~/.nuget/packages - uses: actions/cache@v4 + fetch-depth: 0 + + - name: "Install .NET SDK" + uses: actions/setup-dotnet@v5 with: - path: | - .nuke/temp - ~/.nuget/packages - key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj') }} - - name: Run './build.cmd All' - run: ./build.cmd All - env: - GITHUB_CONTEXT: ${{ toJSON(github) }} + global-json-file: "./global.json" + + - name: "Update release notes" + shell: pwsh + run: ./build.ps1 + + - name: "dotnet build" + run: dotnet build ${{ matrix.solution-path }} -c Release + + - name: "dotnet test" + run: dotnet test ${{ matrix.solution-path }} -c Release --no-build diff --git a/.nuke/build.schema.json b/.nuke/build.schema.json deleted file mode 100644 index 61cb3d98..00000000 --- a/.nuke/build.schema.json +++ /dev/null @@ -1,126 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Build Schema", - "$ref": "#/definitions/build", - "definitions": { - "build": { - "type": "object", - "properties": { - "Configuration": { - "type": "string", - "description": "Configuration to build - Default is 'Debug' (local) or 'Release' (server)", - "enum": [ - "Debug", - "Release" - ] - }, - "Continue": { - "type": "boolean", - "description": "Indicates to continue a previously failed build attempt" - }, - "GitHubToken": { - "type": "string", - "default": "Secrets must be entered via 'nuke :secret [profile]'" - }, - "Help": { - "type": "boolean", - "description": "Shows the help text for this build assembly" - }, - "Host": { - "type": "string", - "description": "Host for execution. Default is 'automatic'", - "enum": [ - "AppVeyor", - "AzurePipelines", - "Bamboo", - "Bitrise", - "GitHubActions", - "GitLab", - "Jenkins", - "Rider", - "SpaceAutomation", - "TeamCity", - "Terminal", - "TravisCI", - "VisualStudio", - "VSCode" - ] - }, - "NoLogo": { - "type": "boolean", - "description": "Disables displaying the NUKE logo" - }, - "NugetKey": { - "type": "string", - "default": "Secrets must be entered via 'nuke :secret [profile]'" - }, - "NugetPrerelease": { - "type": "string" - }, - "Partition": { - "type": "string", - "description": "Partition to use on CI" - }, - "Plan": { - "type": "boolean", - "description": "Shows the execution plan (HTML)" - }, - "Profile": { - "type": "array", - "description": "Defines the profiles to load", - "items": { - "type": "string" - } - }, - "Root": { - "type": "string", - "description": "Root directory during build execution" - }, - "Skip": { - "type": "array", - "description": "List of targets to be skipped. Empty list skips all dependencies", - "items": { - "type": "string", - "enum": [ - "All", - "AssemblyInfo", - "BuildRelease", - "Clean", - "Compile", - "Install", - "PublishCode", - "RunTests" - ] - } - }, - "Target": { - "type": "array", - "description": "List of targets to be invoked. Default is '{default_target}'", - "items": { - "type": "string", - "enum": [ - "All", - "AssemblyInfo", - "BuildRelease", - "Clean", - "Compile", - "Install", - "PublishCode", - "RunTests" - ] - } - }, - "Verbosity": { - "type": "string", - "description": "Logging verbosity during build execution. Default is 'Normal'", - "enum": [ - "Minimal", - "Normal", - "Quiet", - "Verbose" - ] - } - } - } - } -} \ No newline at end of file diff --git a/.nuke/parameters.json b/.nuke/parameters.json deleted file mode 100644 index 95bbdcf0..00000000 --- a/.nuke/parameters.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "$schema": "./build.schema.json" -} \ No newline at end of file diff --git a/Directory.Build.props b/Directory.Build.props new file mode 100644 index 00000000..240870ca --- /dev/null +++ b/Directory.Build.props @@ -0,0 +1,28 @@ + + + Copyright © 2015-$([System.DateTime]::Now.Year) Petabridge, LLC + Petabridge + 0.1.0 + + $(NoWarn);CS1591 + + + net10.0 + 2.9.3 + 18.4.0 + 1.5.64 + 1.5.0 + 1.5.64 + [10.0.0,) + + + + + + + true + true + true + snupkg + + diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 850be192..2156481b 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,2 +1,2 @@ -## [0.1.0] / 30 March 2022 +#### 0.1.0 March 30 2022 - Initial rewrite of repository diff --git a/build.cmd b/build.cmd deleted file mode 100644 index b08cc590..00000000 --- a/build.cmd +++ /dev/null @@ -1,7 +0,0 @@ -:; set -eo pipefail -:; SCRIPT_DIR=$(cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd) -:; ${SCRIPT_DIR}/build.sh "$@" -:; exit $? - -@ECHO OFF -powershell -ExecutionPolicy ByPass -NoProfile -File "%~dp0build.ps1" %* diff --git a/build.ps1 b/build.ps1 index bc7cab57..6ac58a6e 100644 --- a/build.ps1 +++ b/build.ps1 @@ -1,238 +1,12 @@ -[CmdletBinding()] -Param( - [Parameter(Position=0,Mandatory=$false,ValueFromRemainingArguments=$true)] - [string[]]$BuildArguments -) +. "$PSScriptRoot\scripts\getReleaseNotes.ps1" +. "$PSScriptRoot\scripts\bumpVersion.ps1" -Write-Output "PowerShell $($PSVersionTable.PSEdition) version $($PSVersionTable.PSVersion)" +###################################################################### +# Step 1: Grab release notes and update solution metadata +###################################################################### +$releaseNotes = Get-ReleaseNotes -MarkdownFile (Join-Path -Path $PSScriptRoot -ChildPath "RELEASE_NOTES.md") -Set-StrictMode -Version 2.0; $ErrorActionPreference = "Stop"; $ConfirmPreference = "None"; trap { Write-Error $_ -ErrorAction Continue; exit 1 } -$PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent +# inject release notes into Directory.Build.props +UpdateVersionAndReleaseNotes -ReleaseNotesResult $releaseNotes -XmlFilePath (Join-Path -Path $PSScriptRoot -ChildPath "Directory.Build.props") -########################################################################### -# CONFIGURATION -########################################################################### - -$BuildProjectFile = "$PSScriptRoot\build\_build.csproj" -$TempDirectory = "$PSScriptRoot\\.nuke\temp" - -$DotNetGlobalFile = "$PSScriptRoot\\global.json" -$DotNetInstallUrl = "https://dot.net/v1/dotnet-install.ps1" -$DotNetChannel = "Current" - -$env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE = 1 -$env:DOTNET_CLI_TELEMETRY_OPTOUT = 1 -$env:DOTNET_MULTILEVEL_LOOKUP = 0 - -########################################################################### -# EXECUTION -########################################################################### - -function ExecSafe([scriptblock] $cmd) { - & $cmd - if ($LASTEXITCODE) { exit $LASTEXITCODE } -} - -# If dotnet CLI is installed globally and it matches requested version, use for execution -if ($null -ne (Get-Command "dotnet" -ErrorAction SilentlyContinue) -and ` - $(dotnet --version) -and $LASTEXITCODE -eq 0) { - $env:DOTNET_EXE = (Get-Command "dotnet").Path -} -else { - # Download install script - $DotNetInstallFile = "$TempDirectory\dotnet-install.ps1" - New-Item -ItemType Directory -Path $TempDirectory -Force | Out-Null - [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 - (New-Object System.Net.WebClient).DownloadFile($DotNetInstallUrl, $DotNetInstallFile) - - # If global.json exists, load expected version - if (Test-Path $DotNetGlobalFile) { - $DotNetGlobal = $(Get-Content $DotNetGlobalFile | Out-String | ConvertFrom-Json) - if ($DotNetGlobal.PSObject.Properties["sdk"] -and $DotNetGlobal.sdk.PSObject.Properties["version"]) { - $DotNetVersion = $DotNetGlobal.sdk.version - } - } - - # Install by channel or version - $DotNetDirectory = "$TempDirectory\dotnet-win" - if (!(Test-Path variable:DotNetVersion)) { - ExecSafe { & powershell $DotNetInstallFile -InstallDir $DotNetDirectory -Channel $DotNetChannel -NoPath } - } else { - ExecSafe { & powershell $DotNetInstallFile -InstallDir $DotNetDirectory -Version $DotNetVersion -NoPath } - } - $env:DOTNET_EXE = "$DotNetDirectory\dotnet.exe" -} - -Write-Output "Microsoft (R) .NET Core SDK version $(& $env:DOTNET_EXE --version)" - -ExecSafe { & $env:DOTNET_EXE build $BuildProjectFile /nodeReuse:false /p:UseSharedCompilation=false -nologo -clp:NoSummary --verbosity quiet } -ExecSafe { & $env:DOTNET_EXE run --project $BuildProjectFile --no-build -- $BuildArguments } - -# SIG # Begin signature block -# MIIe/AYJKoZIhvcNAQcCoIIe7TCCHukCAQExDzANBglghkgBZQMEAgEFADB5Bgor -# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG -# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDD95cGw8JVfSv0 -# Z5C5SsAJDftEt3KExv81hZI8hYb1ZqCCDhkwggO3MIICn6ADAgECAhAM5+DlF9hG -# /o/lYPwb8DA5MA0GCSqGSIb3DQEBBQUAMGUxCzAJBgNVBAYTAlVTMRUwEwYDVQQK -# EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xJDAiBgNV -# BAMTG0RpZ2lDZXJ0IEFzc3VyZWQgSUQgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBa -# Fw0zMTExMTAwMDAwMDBaMGUxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2Vy -# dCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xJDAiBgNVBAMTG0RpZ2lD -# ZXJ0IEFzc3VyZWQgSUQgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC -# AQoCggEBAK0OFc7kQ4BcsYfzt2D5cRKlrtwmlIiq9M71IDkoWGAM+IDaqRWVMmE8 -# tbEohIqK3J8KDIMXeo+QrIrneVNcMYQq9g+YMjZ2zN7dPKii72r7IfJSYd+fINcf -# 4rHZ/hhk0hJbX/lYGDW8R82hNvlrf9SwOD7BG8OMM9nYLxj+KA+zp4PWw25EwGE1 -# lhb+WZyLdm3X8aJLDSv/C3LanmDQjpA1xnhVhyChz+VtCshJfDGYM2wi6YfQMlqi -# uhOCEe05F52ZOnKh5vqk2dUXMXWuhX0irj8BRob2KHnIsdrkVxfEfhwOsLSSplaz -# vbKX7aqn8LfFqD+VFtD/oZbrCF8Yd08CAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGG -# MA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFEXroq/0ksuCMS1Ri6enIZ3zbcgP -# MB8GA1UdIwQYMBaAFEXroq/0ksuCMS1Ri6enIZ3zbcgPMA0GCSqGSIb3DQEBBQUA -# A4IBAQCiDrzf4u3w43JzemSUv/dyZtgy5EJ1Yq6H6/LV2d5Ws5/MzhQouQ2XYFwS -# TFjk0z2DSUVYlzVpGqhH6lbGeasS2GeBhN9/CTyU5rgmLCC9PbMoifdf/yLil4Qf -# 6WXvh+DfwWdJs13rsgkq6ybteL59PyvztyY1bV+JAbZJW58BBZurPSXBzLZ/wvFv -# hsb6ZGjrgS2U60K3+owe3WLxvlBnt2y98/Efaww2BxZ/N3ypW2168RJGYIPXJwS+ -# S86XvsNnKmgR34DnDDNmvxMNFG7zfx9jEB76jRslbWyPpbdhAbHSoyahEHGdreLD -# +cOZUbcrBwjOLuZQsqf6CkUvovDyMIIFJjCCBA6gAwIBAgIQBcC4m7IhMrtdg5wV -# IYUHmzANBgkqhkiG9w0BAQsFADByMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGln -# aUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMTEwLwYDVQQDEyhE -# aWdpQ2VydCBTSEEyIEFzc3VyZWQgSUQgQ29kZSBTaWduaW5nIENBMB4XDTIwMDEy -# OTAwMDAwMFoXDTIzMDEzMTEyMDAwMFowYzELMAkGA1UEBhMCVVMxDjAMBgNVBAgT -# BVRleGFzMRAwDgYDVQQHEwdIb3VzdG9uMRgwFgYDVQQKEw9QZXRhYnJpZGdlLCBM -# TEMxGDAWBgNVBAMTD1BldGFicmlkZ2UsIExMQzCCASIwDQYJKoZIhvcNAQEBBQAD -# ggEPADCCAQoCggEBAL0BBOw8B5zHcjHQ/qcF1OrQv7Z1U5NiuEtqikJnkK9OhMzx -# k0Hn9TOReZkHHe1oV2Ouf43E9RpvfufijJIUKpFMezN6tXTyTyMFbgr+sASxaGf3 -# RxjyH2caP1ozTtLyycOFR7DKI3tbNhTTAtQkkTvgQ6buDjEhFTBhn5kI8AoXelXb -# n92uFRn7FOGOPno/Lru85Sg5QLz9iqHx4Vje7JeEzQbnB5K6mntZuheSIdnpDCIq -# xPfLtackHqvAKxoYXg8hCP+LTsgRaxNbu8Wi6pDfYjqEeLhBqHZda5T/TF887rHQ -# tgE9XyBOUokrWW2b2+29vCVkTaFTmMauJP5GU7kCAwEAAaOCAcUwggHBMB8GA1Ud -# IwQYMBaAFFrEuXsqCqOl6nEDwGD5LfZldQ5YMB0GA1UdDgQWBBQP0wazew0SBdcA -# 0LguXFA9pT8ZrTAOBgNVHQ8BAf8EBAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMw -# dwYDVR0fBHAwbjA1oDOgMYYvaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL3NoYTIt -# YXNzdXJlZC1jcy1nMS5jcmwwNaAzoDGGL2h0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNv -# bS9zaGEyLWFzc3VyZWQtY3MtZzEuY3JsMEwGA1UdIARFMEMwNwYJYIZIAYb9bAMB -# MCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCAYG -# Z4EMAQQBMIGEBggrBgEFBQcBAQR4MHYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3Nw -# LmRpZ2ljZXJ0LmNvbTBOBggrBgEFBQcwAoZCaHR0cDovL2NhY2VydHMuZGlnaWNl -# cnQuY29tL0RpZ2lDZXJ0U0hBMkFzc3VyZWRJRENvZGVTaWduaW5nQ0EuY3J0MAwG -# A1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggEBADgE3rY8X9MYn4tEPaGxRkzH -# IzTGb236WdbwqDXIiZfjIC4h3/FMOhvSeC63blYti9ExgEg2en3UmmNbLxUgbQU8 -# HK9giaMwqPCWPH+vKkdXtzTFQMkNQPkboOlVU4+2WtLHkrIQwJ3hOEveKAmNuyST -# yWCQD6SNQu0o6GAEKyg4HBVapOf0ioAS0T6ijnT/Sgh98DJSEqzslZ3/RWps51nw -# W3UedbvzCd/xpQx/5IT/hIvK8pJ2IsSW2OKAh450ZWR2LKY9oODZmfFpUvDiZBYs -# RQWRUUvcNDb5mAln3snmVbe1gIcekV7iG7iwzx54K3MFL1OjGKVR5JZcfpNCz4Uw -# ggUwMIIEGKADAgECAhAECRgbX9W7ZnVTQ7VvlVAIMA0GCSqGSIb3DQEBCwUAMGUx -# CzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 -# dy5kaWdpY2VydC5jb20xJDAiBgNVBAMTG0RpZ2lDZXJ0IEFzc3VyZWQgSUQgUm9v -# dCBDQTAeFw0xMzEwMjIxMjAwMDBaFw0yODEwMjIxMjAwMDBaMHIxCzAJBgNVBAYT -# AlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2Vy -# dC5jb20xMTAvBgNVBAMTKERpZ2lDZXJ0IFNIQTIgQXNzdXJlZCBJRCBDb2RlIFNp -# Z25pbmcgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD407Mcfw4R -# r2d3B9MLMUkZz9D7RZmxOttE9X/lqJ3bMtdx6nadBS63j/qSQ8Cl+YnUNxnXtqrw -# nIal2CWsDnkoOn7p0WfTxvspJ8fTeyOU5JEjlpB3gvmhhCNmElQzUHSxKCa7JGnC -# wlLyFGeKiUXULaGj6YgsIJWuHEqHCN8M9eJNYBi+qsSyrnAxZjNxPqxwoqvOf+l8 -# y5Kh5TsxHM/q8grkV7tKtel05iv+bMt+dDk2DZDv5LVOpKnqagqrhPOsZ061xPeM -# 0SAlI+sIZD5SlsHyDxL0xY4PwaLoLFH3c7y9hbFig3NBggfkOItqcyDQD2RzPJ6f -# pjOp/RnfJZPRAgMBAAGjggHNMIIByTASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1Ud -# DwEB/wQEAwIBhjATBgNVHSUEDDAKBggrBgEFBQcDAzB5BggrBgEFBQcBAQRtMGsw -# JAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBDBggrBgEFBQcw -# AoY3aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJlZElE -# Um9vdENBLmNydDCBgQYDVR0fBHoweDA6oDigNoY0aHR0cDovL2NybDQuZGlnaWNl -# cnQuY29tL0RpZ2lDZXJ0QXNzdXJlZElEUm9vdENBLmNybDA6oDigNoY0aHR0cDov -# L2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJlZElEUm9vdENBLmNybDBP -# BgNVHSAESDBGMDgGCmCGSAGG/WwAAgQwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93 -# d3cuZGlnaWNlcnQuY29tL0NQUzAKBghghkgBhv1sAzAdBgNVHQ4EFgQUWsS5eyoK -# o6XqcQPAYPkt9mV1DlgwHwYDVR0jBBgwFoAUReuir/SSy4IxLVGLp6chnfNtyA8w -# DQYJKoZIhvcNAQELBQADggEBAD7sDVoks/Mi0RXILHwlKXaoHV0cLToaxO8wYdd+ -# C2D9wz0PxK+L/e8q3yBVN7Dh9tGSdQ9RtG6ljlriXiSBThCk7j9xjmMOE0ut119E -# efM2FAaK95xGTlz/kLEbBw6RFfu6r7VRwo0kriTGxycqoSkoGjpxKAI8LpGjwCUR -# 4pwUR6F6aGivm6dcIFzZcbEMj7uo+MUSaJ/PQMtARKUT8OZkDCUIQjKyNookAv4v -# cn4c10lFluhZHen6dGRrsutmQ9qzsIzV6Q3d9gEgzpkxYz0IGhizgZtPxpMQBvwH -# gfqL2vmCSfdibqFT+hKUGIUukpHqaGxEMrJmoecYpJpkUe8xghA5MIIQNQIBATCB -# hjByMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL -# ExB3d3cuZGlnaWNlcnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFzc3Vy -# ZWQgSUQgQ29kZSBTaWduaW5nIENBAhAFwLibsiEyu12DnBUhhQebMA0GCWCGSAFl -# AwQCAQUAoIIBATAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgorBgEEAYI3 -# AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgzgnzSp9TzPldFtm9 -# +MMn1/3fZMO6gjhEjwRTH4pv208wgZQGCisGAQQBgjcCAQwxgYUwgYKgSIBGAFAA -# ZQB0AGEAYgByAGkAZABnAGUAIABTAHQAYQBuAGQAYQByAGQAIABCAHUAaQBsAGQA -# IABUAGUAbQBwAGwAYQB0AGUAc6E2gDRodHRwczovL2dpdGh1Yi5jb20vcGV0YWJy -# aWRnZS9wZXRhYnJpZGdlLWRvdG5ldC1uZXcgMA0GCSqGSIb3DQEBAQUABIIBAAWu -# S7dVC/bVS0uQU5HLW7Ghrm5GrQOTw3Kf+H9qVJWWQCw5v0tX+nYstKnSd0dY451+ -# EFLJBuQGB9vSWtRPzylp8oeW/pRbl9SJw4EHkVDiqi/n2Ic3sISD+yGgJsdIoSIJ -# Oi6zk836hE++u4ifvJvOoJTd7U0Hl7ZLg1/rJ1eJDRzXOajq0Y1fNdZ0oXGw5//P -# Cqo3R2n9VAvK0iU5PrZlGfIDWCDo/cYA7IqJZPoZYvPDLAfk+1vullzDEJDhh+n9 -# TCzeBTSDvySlLOBekeZg9mGQEOtvLNFwuwqAMEJbPCmgK5dufTSaHQwanISLJx0z -# tY40gfwlyUY1YfGvLI+hgg1+MIINegYKKwYBBAGCNwMDATGCDWowgg1mBgkqhkiG -# 9w0BBwKggg1XMIINUwIBAzEPMA0GCWCGSAFlAwQCAQUAMHgGCyqGSIb3DQEJEAEE -# oGkEZzBlAgEBBglghkgBhv1sBwEwMTANBglghkgBZQMEAgEFAAQgSUqjWc99F3qL -# mN+EeuvdRYV2GZDW8ieuVYdMSRDmfRYCEQDWysOvG2/4+pYOSDKyxUrpGA8yMDIy -# MDMwNDE4NTQxNVqgggo3MIIE/jCCA+agAwIBAgIQDUJK4L46iP9gQCHOFADw3TAN -# BgkqhkiG9w0BAQsFADByMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQg -# SW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMTEwLwYDVQQDEyhEaWdpQ2Vy -# dCBTSEEyIEFzc3VyZWQgSUQgVGltZXN0YW1waW5nIENBMB4XDTIxMDEwMTAwMDAw -# MFoXDTMxMDEwNjAwMDAwMFowSDELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lD -# ZXJ0LCBJbmMuMSAwHgYDVQQDExdEaWdpQ2VydCBUaW1lc3RhbXAgMjAyMTCCASIw -# DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMLmYYRnxYr1DQikRcpja1HXOhFC -# vQp1dU2UtAxQtSYQ/h3Ib5FrDJbnGlxI70Tlv5thzRWRYlq4/2cLnGP9NmqB+in4 -# 3Stwhd4CGPN4bbx9+cdtCT2+anaH6Yq9+IRdHnbJ5MZ2djpT0dHTWjaPxqPhLxs6 -# t2HWc+xObTOKfF1FLUuxUOZBOjdWhtyTI433UCXoZObd048vV7WHIOsOjizVI9r0 -# TXhG4wODMSlKXAwxikqMiMX3MFr5FK8VX2xDSQn9JiNT9o1j6BqrW7EdMMKbaYK0 -# 2/xWVLwfoYervnpbCiAvSwnJlaeNsvrWY4tOpXIc7p96AXP4Gdb+DUmEvQECAwEA -# AaOCAbgwggG0MA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMBYGA1UdJQEB -# /wQMMAoGCCsGAQUFBwMIMEEGA1UdIAQ6MDgwNgYJYIZIAYb9bAcBMCkwJwYIKwYB -# BQUHAgEWG2h0dHA6Ly93d3cuZGlnaWNlcnQuY29tL0NQUzAfBgNVHSMEGDAWgBT0 -# tuEgHf4prtLkYaWyoiWyyBc1bjAdBgNVHQ4EFgQUNkSGjqS6sGa+vCgtHUQ23eNq -# erwwcQYDVR0fBGowaDAyoDCgLoYsaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL3No -# YTItYXNzdXJlZC10cy5jcmwwMqAwoC6GLGh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNv -# bS9zaGEyLWFzc3VyZWQtdHMuY3JsMIGFBggrBgEFBQcBAQR5MHcwJAYIKwYBBQUH -# MAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBPBggrBgEFBQcwAoZDaHR0cDov -# L2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0U0hBMkFzc3VyZWRJRFRpbWVz -# dGFtcGluZ0NBLmNydDANBgkqhkiG9w0BAQsFAAOCAQEASBzctemaI7znGucgDo5n -# Rv1CclF0CiNHo6uS0iXEcFm+FKDlJ4GlTRQVGQd58NEEw4bZO73+RAJmTe1ppA/2 -# uHDPYuj1UUp4eTZ6J7fz51Kfk6ftQ55757TdQSKJ+4eiRgNO/PT+t2R3Y18jUmmD -# gvoaU+2QzI2hF3MN9PNlOXBL85zWenvaDLw9MtAby/Vh/HUIAHa8gQ74wOFcz8QR -# cucbZEnYIpp1FUL1LTI4gdr0YKK6tFL7XOBhJCVPst/JKahzQ1HavWPWH1ub9y4b -# TxMd90oNcX6Xt/Q/hOvB46NJofrOp79Wz7pZdmGJX36ntI5nePk2mOHLKNpbh6aK -# LzCCBTEwggQZoAMCAQICEAqhJdbWMht+QeQF2jaXwhUwDQYJKoZIhvcNAQELBQAw -# ZTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQ -# d3d3LmRpZ2ljZXJ0LmNvbTEkMCIGA1UEAxMbRGlnaUNlcnQgQXNzdXJlZCBJRCBS -# b290IENBMB4XDTE2MDEwNzEyMDAwMFoXDTMxMDEwNzEyMDAwMFowcjELMAkGA1UE -# BhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRpZ2lj -# ZXJ0LmNvbTExMC8GA1UEAxMoRGlnaUNlcnQgU0hBMiBBc3N1cmVkIElEIFRpbWVz -# dGFtcGluZyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3QMu5L -# zY9/3am6gpnFOVQoV7YjSsQOB0UzURB90Pl9TWh+57ag9I2ziOSXv2MhkJi/E7xX -# 08PhfgjWahQAOPcuHjvuzKb2Mln+X2U/4Jvr40ZHBhpVfgsnfsCi9aDg3iI/Dv9+ -# lfvzo7oiPhisEeTwmQNtO4V8CdPuXciaC1TjqAlxa+DPIhAPdc9xck4Krd9AOly3 -# UeGheRTGTSQjMF287DxgaqwvB8z98OpH2YhQXv1mblZhJymJhFHmgudGUP2UKiyn -# 5HU+upgPhH+fMRTWrdXyZMt7HgXQhBlyF/EXBu89zdZN7wZC/aJTKk+FHcQdPK/P -# 2qwQ9d2srOlW/5MCAwEAAaOCAc4wggHKMB0GA1UdDgQWBBT0tuEgHf4prtLkYaWy -# oiWyyBc1bjAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzASBgNVHRMB -# Af8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjATBgNVHSUEDDAKBggrBgEFBQcD -# CDB5BggrBgEFBQcBAQRtMGswJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2lj -# ZXJ0LmNvbTBDBggrBgEFBQcwAoY3aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29t -# L0RpZ2lDZXJ0QXNzdXJlZElEUm9vdENBLmNydDCBgQYDVR0fBHoweDA6oDigNoY0 -# aHR0cDovL2NybDQuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJlZElEUm9vdENB -# LmNybDA6oDigNoY0aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0QXNz -# dXJlZElEUm9vdENBLmNybDBQBgNVHSAESTBHMDgGCmCGSAGG/WwAAgQwKjAoBggr -# BgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQUzALBglghkgBhv1s -# BwEwDQYJKoZIhvcNAQELBQADggEBAHGVEulRh1Zpze/d2nyqY3qzeM8GN0CE70uE -# v8rPAwL9xafDDiBCLK938ysfDCFaKrcFNB1qrpn4J6JmvwmqYN92pDqTD/iy0dh8 -# GWLoXoIlHsS6HHssIeLWWywUNUMEaLLbdQLgcseY1jxk5R9IEBhfiThhTWJGJIdj -# jJFSLK8pieV4H9YLFKWA1xJHcLN11ZOFk362kmf7U2GJqPVrlsD0WGkNfMgBsbko -# dbeZY4UijGHKeZR+WfyMD+NvtQEmtmyl7odRIeRYYJu6DC0rbaLEfrvEJStHAgh8 -# Sa4TtuF8QkIoxhhWz0E0tmZdtnR79VYzIi8iNrJLokqV2PWmjlIxggKGMIICggIB -# ATCBhjByMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYD -# VQQLExB3d3cuZGlnaWNlcnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFz -# c3VyZWQgSUQgVGltZXN0YW1waW5nIENBAhANQkrgvjqI/2BAIc4UAPDdMA0GCWCG -# SAFlAwQCAQUAoIHRMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG -# 9w0BCQUxDxcNMjIwMzA0MTg1NDE1WjArBgsqhkiG9w0BCRACDDEcMBowGDAWBBTh -# 14Ko4ZG+72vKFpG1qrSUpiSb8zAvBgkqhkiG9w0BCQQxIgQgRNV/90juENBQzGJi -# viDje+GKwhBGpDu84mTotVE7gZcwNwYLKoZIhvcNAQkQAi8xKDAmMCQwIgQgsxCQ -# BrwK2YMHkVcp4EQDQVyD4ykrYU8mlkyNNXHs9akwDQYJKoZIhvcNAQEBBQAEggEA -# HyXQTC7kOc3xoF/uRgP1Y+di1yhCEBFKsULDgUT1PoPgk+L/YwEpTrh35/PQ4nM7 -# pw5JMZAXPSsdWQqlL71EkMJu/eOsEk7vA/HXH3BQvpvXUY7LYzW7fL395ieQgFPa -# sxTGPxEyHH9K1ArYPJjXNz6Zuk9tLx2YnUsGG9A4J1MUTGEExTkA9tJmXi9rmjl4 -# XsNQxsevZubBhKjm1XR7GeWMNnKLXBtPDh5fQsiFmqKoC7caVrsIXztwqK4FMIA8 -# N7ZuwIBQAastH+O3gvCIvCcU7i50fCrY5z0wDZFo/7wTk7hKkN4Njzjad0e5XTZu -# wOSzmyU4OhO0QSHKn9oRvQ== -# SIG # End signature block +Write-Output "Added release notes $releaseNotes" diff --git a/build.sh b/build.sh deleted file mode 100644 index e8961f99..00000000 --- a/build.sh +++ /dev/null @@ -1,62 +0,0 @@ -#!/usr/bin/env bash - -bash --version 2>&1 | head -n 1 - -set -eo pipefail -SCRIPT_DIR=$(cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd) - -########################################################################### -# CONFIGURATION -########################################################################### - -BUILD_PROJECT_FILE="$SCRIPT_DIR/build/_build.csproj" -TEMP_DIRECTORY="$SCRIPT_DIR//.nuke/temp" - -DOTNET_GLOBAL_FILE="$SCRIPT_DIR//global.json" -DOTNET_INSTALL_URL="https://dot.net/v1/dotnet-install.sh" -DOTNET_CHANNEL="Current" - -export DOTNET_CLI_TELEMETRY_OPTOUT=1 -export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 -export DOTNET_MULTILEVEL_LOOKUP=0 - -########################################################################### -# EXECUTION -########################################################################### - -function FirstJsonValue { - perl -nle 'print $1 if m{"'"$1"'": "([^"]+)",?}' <<< "${@:2}" -} - -# If dotnet CLI is installed globally and it matches requested version, use for execution -if [ -x "$(command -v dotnet)" ] && dotnet --version &>/dev/null; then - export DOTNET_EXE="$(command -v dotnet)" -else - # Download install script - DOTNET_INSTALL_FILE="$TEMP_DIRECTORY/dotnet-install.sh" - mkdir -p "$TEMP_DIRECTORY" - curl -Lsfo "$DOTNET_INSTALL_FILE" "$DOTNET_INSTALL_URL" - chmod +x "$DOTNET_INSTALL_FILE" - - # If global.json exists, load expected version - if [[ -f "$DOTNET_GLOBAL_FILE" ]]; then - DOTNET_VERSION=$(FirstJsonValue "version" "$(cat "$DOTNET_GLOBAL_FILE")") - if [[ "$DOTNET_VERSION" == "" ]]; then - unset DOTNET_VERSION - fi - fi - - # Install by channel or version - DOTNET_DIRECTORY="$TEMP_DIRECTORY/dotnet-unix" - if [[ -z ${DOTNET_VERSION+x} ]]; then - "$DOTNET_INSTALL_FILE" --install-dir "$DOTNET_DIRECTORY" --channel "$DOTNET_CHANNEL" --no-path - else - "$DOTNET_INSTALL_FILE" --install-dir "$DOTNET_DIRECTORY" --version "$DOTNET_VERSION" --no-path - fi - export DOTNET_EXE="$DOTNET_DIRECTORY/dotnet" -fi - -echo "Microsoft (R) .NET Core SDK version $("$DOTNET_EXE" --version)" - -"$DOTNET_EXE" build "$BUILD_PROJECT_FILE" /nodeReuse:false /p:UseSharedCompilation=false -nologo -clp:NoSummary --verbosity quiet -"$DOTNET_EXE" run --project "$BUILD_PROJECT_FILE" --no-build -- "$@" diff --git a/build/.editorconfig b/build/.editorconfig deleted file mode 100644 index 31e43dcd..00000000 --- a/build/.editorconfig +++ /dev/null @@ -1,11 +0,0 @@ -[*.cs] -dotnet_style_qualification_for_field = false:warning -dotnet_style_qualification_for_property = false:warning -dotnet_style_qualification_for_method = false:warning -dotnet_style_qualification_for_event = false:warning -dotnet_style_require_accessibility_modifiers = never:warning - -csharp_style_expression_bodied_methods = true:silent -csharp_style_expression_bodied_properties = true:warning -csharp_style_expression_bodied_indexers = true:warning -csharp_style_expression_bodied_accessors = true:warning diff --git a/build/Build.CI.GitHubActions.cs b/build/Build.CI.GitHubActions.cs deleted file mode 100644 index 2a2aa9da..00000000 --- a/build/Build.CI.GitHubActions.cs +++ /dev/null @@ -1,97 +0,0 @@ -// Copyright 2021 Maintainers of NUKE. -// Distributed under the MIT License. -// https://github.com/nuke-build/nuke/blob/master/LICENSE - -using System; -using System.Collections.Generic; -using Nuke.Common.CI.GitHubActions; -using Nuke.Common.CI.GitHubActions.Configuration; -using Nuke.Common.Execution; -using Nuke.Common.Utilities; - -[CustomGitHubActions("pr_validation", - GitHubActionsImage.WindowsLatest, - GitHubActionsImage.UbuntuLatest, - AutoGenerate = false, - OnPushBranches = new[] { "master", "dev" }, - OnPullRequestBranches = new[] { "master", "dev" }, - InvokedTargets = new[] { nameof(All) }, - PublishArtifacts = true, - EnableGitHubContext = true) -] - -[CustomGitHubActions("Windows_release", - GitHubActionsImage.WindowsLatest, - OnPushTags = new[] { "*" }, - AutoGenerate = false, - InvokedTargets = new[] { nameof(NuGet) }, - ImportSecrets = new[] { "Nuget_Key", "GITHUB_TOKEN" }, - EnableGitHubContext = true, - PublishArtifacts = true) -] - -partial class Build -{ -} -class CustomGitHubActionsAttribute : GitHubActionsAttribute -{ - public CustomGitHubActionsAttribute(string name, GitHubActionsImage image, params GitHubActionsImage[] images) : base(name, image, images) - { - } - - protected override GitHubActionsJob GetJobs(GitHubActionsImage image, IReadOnlyCollection relevantTargets) - { - var job = base.GetJobs(image, relevantTargets); - var newSteps = new List(job.Steps); - foreach (var version in new[] { "6.0.*", "5.0.*" }) - { - newSteps.Insert(1, new GitHubActionsSetupDotNetStep - { - Version = version - }); - } - newSteps.Insert(1, new GitHubActionsSetupChmod - { - File = "build.cmd" - }); - newSteps.Insert(1, new GitHubActionsSetupChmod - { - File = "build.sh" - }); - job.Steps = newSteps.ToArray(); - return job; - } -} - -class GitHubActionsSetupDotNetStep : GitHubActionsStep -{ - public string Version { get; init; } - - public override void Write(CustomFileWriter writer) - { - writer.WriteLine("- uses: actions/setup-dotnet@v1"); - - using (writer.Indent()) - { - writer.WriteLine("with:"); - using (writer.Indent()) - { - writer.WriteLine($"dotnet-version: {Version}"); - } - } - } -} - -class GitHubActionsSetupChmod : GitHubActionsStep -{ - public string File { get; init; } - - public override void Write(CustomFileWriter writer) - { - writer.WriteLine($"- name: Make {File} executable"); - using (writer.Indent()) - { - writer.WriteLine($"run: chmod +x ./{File}"); - } - } -} \ No newline at end of file diff --git a/build/Build.cs b/build/Build.cs deleted file mode 100644 index 9f837de7..00000000 --- a/build/Build.cs +++ /dev/null @@ -1,192 +0,0 @@ -using System; -using System.Linq; -using Nuke.Common; -using Nuke.Common.CI; -using Nuke.Common.Execution; -using Nuke.Common.Git; -using Nuke.Common.IO; -using Nuke.Common.ProjectModel; -using Nuke.Common.Tooling; -using Nuke.Common.Tools.DotNet; -using Nuke.Common.Tools.GitVersion; -using Nuke.Common.Utilities.Collections; -using static Nuke.Common.IO.FileSystemTasks; -using static Nuke.Common.IO.PathConstruction; -using static Nuke.Common.Tools.DotNet.DotNetTasks; -using static Nuke.Common.Tools.DocFX.DocFXTasks; -using System.Text.Json; -using System.IO; -using static Nuke.Common.ChangeLog.ChangelogTasks; -using Nuke.Common.ChangeLog; -using Nuke.Common.Tools.DocFX; -using Nuke.Common.Tools.Docker; -using static Nuke.Common.Tools.SignClient.SignClientTasks; -using Nuke.Common.Tools.SignClient; -using static Nuke.Common.Tools.Git.GitTasks; -using Octokit; -using Nuke.Common.Utilities; - -[CheckBuildProjectConfigurations] -[ShutdownDotNetAfterServerBuild] -partial class Build : NukeBuild -{ - /// Support plugins are available for: - /// - JetBrains ReSharper https://nuke.build/resharper - /// - JetBrains Rider https://nuke.build/rider - /// - Microsoft VisualStudio https://nuke.build/visualstudio - /// - Microsoft VSCode https://nuke.build/vscode - - public static int Main() => Execute(x => x.Install); - - [Parameter("Configuration to build - Default is 'Debug' (local) or 'Release' (server)")] - readonly Configuration Configuration = Configuration.Release; - - [GitRepository] readonly GitRepository GitRepository; - - //usage: - //.\build.cmd createnuget --NugetPrerelease {suffix} - [Parameter] string NugetPrerelease; - - [Parameter][Secret] string GitHubToken; - [Parameter][Secret] string NugetKey; - - // Directories - AbsolutePath ToolsDir => RootDirectory / "tools"; - AbsolutePath Output => RootDirectory / "bin"; - AbsolutePath OutputNuget => Output / "nuget"; - AbsolutePath OutputTests => RootDirectory / "TestResults"; - AbsolutePath OutputPerfTests => RootDirectory / "PerfResults"; - AbsolutePath SourceDirectory => RootDirectory / "src"; - AbsolutePath DocSiteDirectory => RootDirectory / "docs" / "_site"; - public string ChangelogFile => RootDirectory / "RELEASE_NOTES.md"; - public AbsolutePath DocFxDir => RootDirectory / "docs"; - public AbsolutePath DocFxDirJson => DocFxDir / "docfx.json"; - - readonly Solution[] Solutions = RootDirectory.GlobFiles("**/*.sln").Select(sln => ProjectModelTasks.ParseSolution(sln)).ToArray(); - - static readonly JsonElement? _githubContext = string.IsNullOrWhiteSpace(EnvironmentInfo.GetVariable("GITHUB_CONTEXT")) ? - null - : JsonSerializer.Deserialize(EnvironmentInfo.GetVariable("GITHUB_CONTEXT")); - - //let hasTeamCity = (not (buildNumber = "0")) // check if we have the TeamCity environment variable for build # set - static readonly int BuildNumber = _githubContext.HasValue ? int.Parse(_githubContext.Value.GetProperty("run_number").GetString()) : 0; - - static readonly string PreReleaseVersionSuffix = "beta" + (BuildNumber > 0 ? BuildNumber : DateTime.UtcNow.Ticks.ToString()); - public ChangeLog Changelog => ReadChangelog(ChangelogFile); - - public ReleaseNotes ReleaseNotes => Changelog.ReleaseNotes.OrderByDescending(s => s.Version).FirstOrDefault() ?? throw new ArgumentException("Bad Changelog File. Version Should Exist"); - - private string VersionFromReleaseNotes => ReleaseNotes.Version.IsPrerelease ? ReleaseNotes.Version.OriginalVersion : ""; - private string VersionSuffix => NugetPrerelease == "dev" ? PreReleaseVersionSuffix : NugetPrerelease == "" ? VersionFromReleaseNotes : NugetPrerelease; - public string ReleaseVersion => ReleaseNotes.Version?.ToString() ?? throw new ArgumentException("Bad Changelog File. Define at least one version"); - GitHubClient GitHubClient; - Target Clean => _ => _ - .Description("Cleans all the output directories") - .Before(AssemblyInfo) - .Executes(() => - { - RootDirectory - .GlobDirectories("src/**/bin", "src/**/obj", Output, OutputTests, OutputPerfTests, OutputNuget, DocSiteDirectory) - .ForEach(DeleteDirectory); - EnsureCleanDirectory(Output); - }); - - - Target RunTests => _ => _ - .Description("Runs all the unit tests") - .DependsOn(Compile) - .Executes(() => - { - foreach(var sln in Solutions) - { - var projects = sln.GetProjects("*.Tests"); - foreach (var project in projects) - { - Information($"Running tests from {project}"); - foreach (var fw in project.GetTargetFrameworks()) - { - Information($"Running for {project} ({fw}) ..."); - DotNetTest(c => c - .SetProjectFile(project) - .SetConfiguration(Configuration.ToString()) - .SetFramework(fw) - .SetResultsDirectory(OutputTests) - .SetProcessWorkingDirectory(Directory.GetParent(project).FullName) - .SetLoggers("trx") - .SetVerbosity(verbosity: DotNetVerbosity.Normal) - .EnableNoBuild()); - } - } - } - - }); - - - private AbsolutePath[] GetDockerProjects() - { - return SourceDirectory.GlobFiles("**/Dockerfile")// folders with Dockerfiles in it - .ToArray(); - } - - Target PublishCode => _ => _ - .Unlisted() - .Description("Publish project as release") - .DependsOn(Compile) - .Executes(() => - { - var dockfiles = GetDockerProjects(); - foreach (var dockfile in dockfiles) - { - Information(dockfile.Parent.ToString()); - var project = dockfile.Parent.GlobFiles("*.csproj").First(); - DotNetPublish(s => s - .SetProject(project) - .SetConfiguration(Configuration.Release)); - } - }); - Target All => _ => _ - .Description("Compiles all projects and runs all tests") - .DependsOn(BuildRelease, RunTests); - - - //-------------------------------------------------------------------------------- - // Documentation - //-------------------------------------------------------------------------------- - - Target Compile => _ => _ - .Description("Builds all the projects in the solution") - .DependsOn(AssemblyInfo) - .Executes(() => - { - var version = ReleaseNotes.Version.ToString(); - - foreach(var sln in Solutions){ - DotNetBuild(s => s - .SetProjectFile(sln) - .SetConfiguration(Configuration)); - } - }); - - Target BuildRelease => _ => _ - .DependsOn(Compile); - - Target AssemblyInfo => _ => _ - .Executes(() => - { - XmlTasks.XmlPoke(SourceDirectory / "Directory.Build.props", "//Project/PropertyGroup/PackageReleaseNotes", GetNuGetReleaseNotes(ChangelogFile)); - XmlTasks.XmlPoke(SourceDirectory / "Directory.Build.props", "//Project/PropertyGroup/VersionPrefix", ReleaseVersion); - - }); - - Target Install => _ => _ - .Description("Install `Nuke.GlobalTool`") - .Executes(() => - { - DotNet($"tool install Nuke.GlobalTool --global"); - }); - - static void Information(string info) - { - Serilog.Log.Information(info); - } -} diff --git a/build/Configuration.cs b/build/Configuration.cs deleted file mode 100644 index 9c08b1ae..00000000 --- a/build/Configuration.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.ComponentModel; -using System.Linq; -using Nuke.Common.Tooling; - -[TypeConverter(typeof(TypeConverter))] -public class Configuration : Enumeration -{ - public static Configuration Debug = new Configuration { Value = nameof(Debug) }; - public static Configuration Release = new Configuration { Value = nameof(Release) }; - - public static implicit operator string(Configuration configuration) - { - return configuration.Value; - } -} diff --git a/build/Directory.Build.props b/build/Directory.Build.props deleted file mode 100644 index e147d635..00000000 --- a/build/Directory.Build.props +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/build/Directory.Build.targets b/build/Directory.Build.targets deleted file mode 100644 index 25326095..00000000 --- a/build/Directory.Build.targets +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/build/_build.csproj b/build/_build.csproj deleted file mode 100644 index dd6be4ee..00000000 --- a/build/_build.csproj +++ /dev/null @@ -1,18 +0,0 @@ - - - - Exe - net6.0 - - CS0649;CS0169 - .. - .. - 1 - - - - - - - - diff --git a/build/_build.csproj.DotSettings b/build/_build.csproj.DotSettings deleted file mode 100644 index 7bc28484..00000000 --- a/build/_build.csproj.DotSettings +++ /dev/null @@ -1,27 +0,0 @@ - - DO_NOT_SHOW - DO_NOT_SHOW - DO_NOT_SHOW - DO_NOT_SHOW - Implicit - Implicit - ExpressionBody - 0 - NEXT_LINE - True - False - 120 - IF_OWNER_IS_SINGLE_LINE - WRAP_IF_LONG - False - <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /> - <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /> - True - True - True - True - True - True - True - True - True diff --git a/global.json b/global.json new file mode 100644 index 00000000..512142d2 --- /dev/null +++ b/global.json @@ -0,0 +1,6 @@ +{ + "sdk": { + "version": "10.0.100", + "rollForward": "latestFeature" + } +} diff --git a/infrastructure/mssql-init-container/src/Akka.SqlInitContainer.sln b/infrastructure/mssql-init-container/src/Akka.SqlInitContainer.sln deleted file mode 100644 index 937a5471..00000000 --- a/infrastructure/mssql-init-container/src/Akka.SqlInitContainer.sln +++ /dev/null @@ -1,22 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.30114.105 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akka.SqlInitContainer", "Akka.SqlInitContainer\Akka.SqlInitContainer.csproj", "{B5C63149-BC95-4BF9-AE15-BD364C09C29E}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {B5C63149-BC95-4BF9-AE15-BD364C09C29E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B5C63149-BC95-4BF9-AE15-BD364C09C29E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B5C63149-BC95-4BF9-AE15-BD364C09C29E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B5C63149-BC95-4BF9-AE15-BD364C09C29E}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection -EndGlobal diff --git a/infrastructure/mssql-init-container/src/Akka.SqlInitContainer.slnx b/infrastructure/mssql-init-container/src/Akka.SqlInitContainer.slnx new file mode 100644 index 00000000..6e8ae7cf --- /dev/null +++ b/infrastructure/mssql-init-container/src/Akka.SqlInitContainer.slnx @@ -0,0 +1,3 @@ + + + diff --git a/infrastructure/mssql-init-container/src/Akka.SqlInitContainer/Akka.SqlInitContainer.csproj b/infrastructure/mssql-init-container/src/Akka.SqlInitContainer/Akka.SqlInitContainer.csproj index 55d915fd..071bb0db 100644 --- a/infrastructure/mssql-init-container/src/Akka.SqlInitContainer/Akka.SqlInitContainer.csproj +++ b/infrastructure/mssql-init-container/src/Akka.SqlInitContainer/Akka.SqlInitContainer.csproj @@ -1,5 +1,4 @@ - Exe $(NetRuntime) @@ -9,7 +8,7 @@ - + diff --git a/infrastructure/mssql-init-container/src/Akka.SqlInitContainer/Dockerfile b/infrastructure/mssql-init-container/src/Akka.SqlInitContainer/Dockerfile index d0177aad..f275ebda 100644 --- a/infrastructure/mssql-init-container/src/Akka.SqlInitContainer/Dockerfile +++ b/infrastructure/mssql-init-container/src/Akka.SqlInitContainer/Dockerfile @@ -1,6 +1,6 @@ -FROM mcr.microsoft.com/dotnet/runtime:8.0 +FROM mcr.microsoft.com/dotnet/runtime:10.0 WORKDIR /app -COPY ./bin/Release/net8.0/publish/ /app +COPY ./bin/Release/net10.0/publish/ /app CMD ["dotnet", "Akka.SqlInitContainer.dll"] \ No newline at end of file diff --git a/scripts/bumpVersion.ps1 b/scripts/bumpVersion.ps1 new file mode 100644 index 00000000..cdc46edf --- /dev/null +++ b/scripts/bumpVersion.ps1 @@ -0,0 +1,28 @@ +function UpdateVersionAndReleaseNotes { + param ( + [Parameter(Mandatory=$true)] + [PSCustomObject]$ReleaseNotesResult, + + [Parameter(Mandatory=$true)] + [string]$XmlFilePath + ) + + # Load XML + $xmlContent = New-Object XML + $xmlContent.Load($XmlFilePath) + + # Update VersionPrefix and PackageReleaseNotes + $versionPrefixElement = $xmlContent.SelectSingleNode("//VersionPrefix") + $versionPrefixElement.InnerText = $ReleaseNotesResult.Version + + $packageReleaseNotesElement = $xmlContent.SelectSingleNode("//PackageReleaseNotes") + $packageReleaseNotesElement.InnerText = $ReleaseNotesResult.ReleaseNotes + + # Save the updated XML + $xmlContent.Save($XmlFilePath) +} + +# Usage example: +# $notes = Get-ReleaseNotes -MarkdownFile "$PSScriptRoot\RELEASE_NOTES.md" +# $propsPath = Join-Path -Path (Get-Item $PSScriptRoot).Parent.FullName -ChildPath "Directory.Build.props" +# UpdateVersionAndReleaseNotes -ReleaseNotesResult $notes -XmlFilePath $propsPath diff --git a/scripts/getReleaseNotes.ps1 b/scripts/getReleaseNotes.ps1 new file mode 100644 index 00000000..419d85fc --- /dev/null +++ b/scripts/getReleaseNotes.ps1 @@ -0,0 +1,44 @@ +function Get-ReleaseNotes { + param ( + [Parameter(Mandatory=$true)] + [string]$MarkdownFile + ) + + # Read markdown file content + $content = Get-Content -Path $MarkdownFile -Raw + + # Split content based on headers + $sections = $content -split "####" + + # Output object to store result + $outputObject = [PSCustomObject]@{ + Version = $null + Date = $null + ReleaseNotes = $null + } + + # Check if we have at least 3 sections (1. Before the header, 2. Header, 3. Release notes) + if ($sections.Count -ge 3) { + $header = $sections[1].Trim() + $releaseNotes = $sections[2].Trim() + + # Extract version and date from the header + $headerParts = $header -split " ", 2 + if ($headerParts.Count -eq 2) { + $outputObject.Version = $headerParts[0] + $outputObject.Date = $headerParts[1] + } + + $outputObject.ReleaseNotes = $releaseNotes + } + + # Return the output object + return $outputObject +} + +# Call function example: +#$result = Get-ReleaseNotes -MarkdownFile "$PSScriptRoot\RELEASE_NOTES.md" +#Write-Output "Version: $($result.Version)" +#Write-Output "Date: $($result.Date)" +#Write-Output "Release Notes:" +#Write-Output $result.ReleaseNotes diff --git a/src/Directory.Build.props b/src/Directory.Build.props deleted file mode 100644 index f01ba84c..00000000 --- a/src/Directory.Build.props +++ /dev/null @@ -1,36 +0,0 @@ - - - Copyright © 2015-2022 Petabridge, LLC - Petabridge - 0.1.0 - • Initial rewrite of repository - - - - - - - $(NoWarn);CS1591 - - - net8.0 - 2.4.2 - 17.6.0 - 1.5.58 - 1.5.0 - 1.5.58 - [8.0.0,) - - - - - - - true - - true - - true - snupkg - - diff --git a/src/clustering/cluster-bootstrap/Aspire/Aspire.sln b/src/clustering/cluster-bootstrap/Aspire/Aspire.sln deleted file mode 100644 index c54e15e6..00000000 --- a/src/clustering/cluster-bootstrap/Aspire/Aspire.sln +++ /dev/null @@ -1,27 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleCluster.Node", "SimpleCluster.Node\SimpleCluster.Node.csproj", "{73586BA4-9B6F-4470-AF2A-B7A3B0F94E2F}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleCluster.AppHost", "SimpleCluster.AppHost\SimpleCluster.AppHost.csproj", "{77720513-442B-4CF3-A278-827328B69D80}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{4781FC82-B4BD-472B-BFC2-2EBBF52CB763}" - ProjectSection(SolutionItems) = preProject - README.md = README.md - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {73586BA4-9B6F-4470-AF2A-B7A3B0F94E2F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {73586BA4-9B6F-4470-AF2A-B7A3B0F94E2F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {73586BA4-9B6F-4470-AF2A-B7A3B0F94E2F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {73586BA4-9B6F-4470-AF2A-B7A3B0F94E2F}.Release|Any CPU.Build.0 = Release|Any CPU - {77720513-442B-4CF3-A278-827328B69D80}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {77720513-442B-4CF3-A278-827328B69D80}.Debug|Any CPU.Build.0 = Debug|Any CPU - {77720513-442B-4CF3-A278-827328B69D80}.Release|Any CPU.ActiveCfg = Release|Any CPU - {77720513-442B-4CF3-A278-827328B69D80}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection -EndGlobal diff --git a/src/clustering/cluster-bootstrap/Aspire/Aspire.slnx b/src/clustering/cluster-bootstrap/Aspire/Aspire.slnx new file mode 100644 index 00000000..63c8b08d --- /dev/null +++ b/src/clustering/cluster-bootstrap/Aspire/Aspire.slnx @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/clustering/cluster-bootstrap/Aspire/SimpleCluster.AppHost/SimpleCluster.AppHost.csproj b/src/clustering/cluster-bootstrap/Aspire/SimpleCluster.AppHost/SimpleCluster.AppHost.csproj index 2c3768f0..2567ed12 100644 --- a/src/clustering/cluster-bootstrap/Aspire/SimpleCluster.AppHost/SimpleCluster.AppHost.csproj +++ b/src/clustering/cluster-bootstrap/Aspire/SimpleCluster.AppHost/SimpleCluster.AppHost.csproj @@ -4,15 +4,15 @@ Exe - net9.0 + net10.0 enable enable b5a49694-6be3-4d9c-96ed-034cb40960f9 - - + + diff --git a/src/clustering/cluster-bootstrap/Aspire/SimpleCluster.Node/SimpleCluster.Node.csproj b/src/clustering/cluster-bootstrap/Aspire/SimpleCluster.Node/SimpleCluster.Node.csproj index a4a7fc6e..fd237eca 100644 --- a/src/clustering/cluster-bootstrap/Aspire/SimpleCluster.Node/SimpleCluster.Node.csproj +++ b/src/clustering/cluster-bootstrap/Aspire/SimpleCluster.Node/SimpleCluster.Node.csproj @@ -2,16 +2,16 @@ Exe - net9.0 + net10.0 enable enable - - - - + + + + diff --git a/src/clustering/cluster-client/ClusterClientSample.FrontEnd/ClusterClientSample.FrontEnd.csproj b/src/clustering/cluster-client/ClusterClientSample.FrontEnd/ClusterClientSample.FrontEnd.csproj index a3c1ccfb..60fbc1ad 100644 --- a/src/clustering/cluster-client/ClusterClientSample.FrontEnd/ClusterClientSample.FrontEnd.csproj +++ b/src/clustering/cluster-client/ClusterClientSample.FrontEnd/ClusterClientSample.FrontEnd.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + $(TargetFramework) enable enable diff --git a/src/clustering/cluster-client/ClusterClientSample.Gateway/ClusterClientSample.Gateway.csproj b/src/clustering/cluster-client/ClusterClientSample.Gateway/ClusterClientSample.Gateway.csproj index 71e08342..d5232c15 100644 --- a/src/clustering/cluster-client/ClusterClientSample.Gateway/ClusterClientSample.Gateway.csproj +++ b/src/clustering/cluster-client/ClusterClientSample.Gateway/ClusterClientSample.Gateway.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + $(TargetFramework) enable enable diff --git a/src/clustering/cluster-client/ClusterClientSample.Node/ClusterClientSample.Node.csproj b/src/clustering/cluster-client/ClusterClientSample.Node/ClusterClientSample.Node.csproj index 8befe82a..5e8465a5 100644 --- a/src/clustering/cluster-client/ClusterClientSample.Node/ClusterClientSample.Node.csproj +++ b/src/clustering/cluster-client/ClusterClientSample.Node/ClusterClientSample.Node.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + $(TargetFramework) enable enable diff --git a/src/clustering/cluster-client/ClusterClientSample.sln b/src/clustering/cluster-client/ClusterClientSample.sln deleted file mode 100644 index 8ec58be1..00000000 --- a/src/clustering/cluster-client/ClusterClientSample.sln +++ /dev/null @@ -1,41 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClusterClientSample.Shared", "ClusterClientSample.Shared\ClusterClientSample.Shared.csproj", "{C5CC9D20-F16C-44BE-9CDE-1D2227D39508}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_", "_", "{25EC11E5-0FAE-409B-B178-4E3E89F14330}" - ProjectSection(SolutionItems) = preProject - Directory.Build.props = Directory.Build.props - Directory.Packages.props = Directory.Packages.props - README.md = README.md - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClusterClientSample.Gateway", "ClusterClientSample.Gateway\ClusterClientSample.Gateway.csproj", "{B2DCFC44-082B-433D-AEB0-B7EC174B593D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClusterClientSample.Node", "ClusterClientSample.Node\ClusterClientSample.Node.csproj", "{BE579313-8D25-42E7-AAF2-386DA42FE287}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClusterClientSample.FrontEnd", "ClusterClientSample.FrontEnd\ClusterClientSample.FrontEnd.csproj", "{5425F5FC-02E1-4A54-8FC6-931EB3B143DE}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {C5CC9D20-F16C-44BE-9CDE-1D2227D39508}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C5CC9D20-F16C-44BE-9CDE-1D2227D39508}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C5CC9D20-F16C-44BE-9CDE-1D2227D39508}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C5CC9D20-F16C-44BE-9CDE-1D2227D39508}.Release|Any CPU.Build.0 = Release|Any CPU - {B2DCFC44-082B-433D-AEB0-B7EC174B593D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B2DCFC44-082B-433D-AEB0-B7EC174B593D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B2DCFC44-082B-433D-AEB0-B7EC174B593D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B2DCFC44-082B-433D-AEB0-B7EC174B593D}.Release|Any CPU.Build.0 = Release|Any CPU - {BE579313-8D25-42E7-AAF2-386DA42FE287}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BE579313-8D25-42E7-AAF2-386DA42FE287}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BE579313-8D25-42E7-AAF2-386DA42FE287}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BE579313-8D25-42E7-AAF2-386DA42FE287}.Release|Any CPU.Build.0 = Release|Any CPU - {5425F5FC-02E1-4A54-8FC6-931EB3B143DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5425F5FC-02E1-4A54-8FC6-931EB3B143DE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5425F5FC-02E1-4A54-8FC6-931EB3B143DE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5425F5FC-02E1-4A54-8FC6-931EB3B143DE}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection -EndGlobal diff --git a/src/clustering/cluster-client/ClusterClientSample.slnx b/src/clustering/cluster-client/ClusterClientSample.slnx new file mode 100644 index 00000000..2d671a0c --- /dev/null +++ b/src/clustering/cluster-client/ClusterClientSample.slnx @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/clustering/cluster-client/Directory.Build.props b/src/clustering/cluster-client/Directory.Build.props index 553f798c..5e69f91f 100644 --- a/src/clustering/cluster-client/Directory.Build.props +++ b/src/clustering/cluster-client/Directory.Build.props @@ -1,18 +1,18 @@  - net8.0 + net10.0 latestmajor enable netstandard2.0 - net6.0 - 2.7.1 - 17.9.0 - 6.0.2 - 2.5.8 - [6.0.0,) + net10.0 + 2.9.3 + 18.4.0 + 8.0.1 + 3.1.5 + [10.0.0,) diff --git a/src/clustering/cluster-client/Directory.Packages.props b/src/clustering/cluster-client/Directory.Packages.props index c250d046..b710fb62 100644 --- a/src/clustering/cluster-client/Directory.Packages.props +++ b/src/clustering/cluster-client/Directory.Packages.props @@ -1,8 +1,8 @@ true - 1.5.42 - 1.5.42 + 1.5.64 + 1.5.64 @@ -14,6 +14,6 @@ - + \ No newline at end of file diff --git a/src/clustering/sharding-sqlserver/ShardingSqlServer.sln b/src/clustering/sharding-sqlserver/ShardingSqlServer.sln deleted file mode 100644 index 0b113076..00000000 --- a/src/clustering/sharding-sqlserver/ShardingSqlServer.sln +++ /dev/null @@ -1,34 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.30114.105 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SqlSharding.Shared", "SqlSharding.Shared\SqlSharding.Shared.csproj", "{52F92E8D-0E25-41DB-88C7-DB537166E97D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SqlSharding.WebApp", "SqlSharding.WebApp\SqlSharding.WebApp.csproj", "{2DE443CB-EEA0-4A69-9750-C55638778565}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SqlSharding.Sql.Host", "SqlSharding.Sql.Host\SqlSharding.Sql.Host.csproj", "{915E613A-A6ED-4633-BC50-832A15CF4596}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {52F92E8D-0E25-41DB-88C7-DB537166E97D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {52F92E8D-0E25-41DB-88C7-DB537166E97D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {52F92E8D-0E25-41DB-88C7-DB537166E97D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {52F92E8D-0E25-41DB-88C7-DB537166E97D}.Release|Any CPU.Build.0 = Release|Any CPU - {2DE443CB-EEA0-4A69-9750-C55638778565}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2DE443CB-EEA0-4A69-9750-C55638778565}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2DE443CB-EEA0-4A69-9750-C55638778565}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2DE443CB-EEA0-4A69-9750-C55638778565}.Release|Any CPU.Build.0 = Release|Any CPU - {915E613A-A6ED-4633-BC50-832A15CF4596}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {915E613A-A6ED-4633-BC50-832A15CF4596}.Debug|Any CPU.Build.0 = Debug|Any CPU - {915E613A-A6ED-4633-BC50-832A15CF4596}.Release|Any CPU.ActiveCfg = Release|Any CPU - {915E613A-A6ED-4633-BC50-832A15CF4596}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection -EndGlobal diff --git a/src/clustering/sharding-sqlserver/ShardingSqlServer.slnx b/src/clustering/sharding-sqlserver/ShardingSqlServer.slnx new file mode 100644 index 00000000..fb838f96 --- /dev/null +++ b/src/clustering/sharding-sqlserver/ShardingSqlServer.slnx @@ -0,0 +1,5 @@ + + + + + diff --git a/src/clustering/sharding-sqlserver/SqlSharding.Shared/SqlSharding.Shared.csproj b/src/clustering/sharding-sqlserver/SqlSharding.Shared/SqlSharding.Shared.csproj index e4ae530f..d7b0f738 100644 --- a/src/clustering/sharding-sqlserver/SqlSharding.Shared/SqlSharding.Shared.csproj +++ b/src/clustering/sharding-sqlserver/SqlSharding.Shared/SqlSharding.Shared.csproj @@ -10,11 +10,11 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/src/clustering/sharding-sqlserver/SqlSharding.Sql.Host/Dockerfile b/src/clustering/sharding-sqlserver/SqlSharding.Sql.Host/Dockerfile index 0c097a6a..93d43750 100644 --- a/src/clustering/sharding-sqlserver/SqlSharding.Sql.Host/Dockerfile +++ b/src/clustering/sharding-sqlserver/SqlSharding.Sql.Host/Dockerfile @@ -1,6 +1,6 @@ -FROM mcr.microsoft.com/dotnet/runtime:8.0 +FROM mcr.microsoft.com/dotnet/runtime:10.0 WORKDIR /app -COPY ./bin/Release/net8.0/publish/ /app +COPY ./bin/Release/net10.0/publish/ /app CMD ["dotnet", "SqlSharding.Sql.Host.dll"] \ No newline at end of file diff --git a/src/clustering/sharding-sqlserver/SqlSharding.Sql.Host/SqlSharding.Sql.Host.csproj b/src/clustering/sharding-sqlserver/SqlSharding.Sql.Host/SqlSharding.Sql.Host.csproj index 3df21011..0e26772e 100644 --- a/src/clustering/sharding-sqlserver/SqlSharding.Sql.Host/SqlSharding.Sql.Host.csproj +++ b/src/clustering/sharding-sqlserver/SqlSharding.Sql.Host/SqlSharding.Sql.Host.csproj @@ -14,8 +14,8 @@ - - + + diff --git a/src/clustering/sharding-sqlserver/SqlSharding.WebApp/Dockerfile b/src/clustering/sharding-sqlserver/SqlSharding.WebApp/Dockerfile index d8f407c0..00ecf2b9 100644 --- a/src/clustering/sharding-sqlserver/SqlSharding.WebApp/Dockerfile +++ b/src/clustering/sharding-sqlserver/SqlSharding.WebApp/Dockerfile @@ -1,6 +1,6 @@ -FROM mcr.microsoft.com/dotnet/aspnet:8.0 +FROM mcr.microsoft.com/dotnet/aspnet:10.0 WORKDIR /app -COPY ./bin/Release/net8.0/publish/ /app +COPY ./bin/Release/net10.0/publish/ /app CMD ["dotnet", "SqlSharding.WebApp.dll"] \ No newline at end of file diff --git a/src/cqrs/cqrs-sqlserver/CqrsSqlServer.Backend/CqrsSqlServer.Backend.csproj b/src/cqrs/cqrs-sqlserver/CqrsSqlServer.Backend/CqrsSqlServer.Backend.csproj index 396cadd5..9948508a 100644 --- a/src/cqrs/cqrs-sqlserver/CqrsSqlServer.Backend/CqrsSqlServer.Backend.csproj +++ b/src/cqrs/cqrs-sqlserver/CqrsSqlServer.Backend/CqrsSqlServer.Backend.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + $(NetRuntime) enable enable @@ -13,7 +13,7 @@ - + diff --git a/src/cqrs/cqrs-sqlserver/CqrsSqlServer.DataModel/CqrsSqlServer.DataModel.csproj b/src/cqrs/cqrs-sqlserver/CqrsSqlServer.DataModel/CqrsSqlServer.DataModel.csproj index 0c196904..cb57e2b7 100644 --- a/src/cqrs/cqrs-sqlserver/CqrsSqlServer.DataModel/CqrsSqlServer.DataModel.csproj +++ b/src/cqrs/cqrs-sqlserver/CqrsSqlServer.DataModel/CqrsSqlServer.DataModel.csproj @@ -2,18 +2,18 @@ Exe - net8.0 + $(NetRuntime) enable enable - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/src/cqrs/cqrs-sqlserver/CqrsSqlServer.Frontend/CqrsSqlServer.Frontend.csproj b/src/cqrs/cqrs-sqlserver/CqrsSqlServer.Frontend/CqrsSqlServer.Frontend.csproj index a903c9fb..9da4e4b2 100644 --- a/src/cqrs/cqrs-sqlserver/CqrsSqlServer.Frontend/CqrsSqlServer.Frontend.csproj +++ b/src/cqrs/cqrs-sqlserver/CqrsSqlServer.Frontend/CqrsSqlServer.Frontend.csproj @@ -1,14 +1,14 @@ - net8.0 + $(NetRuntime) enable enable - + diff --git a/src/cqrs/cqrs-sqlserver/CqrsSqlServer.Shared/CqrsSqlServer.Shared.csproj b/src/cqrs/cqrs-sqlserver/CqrsSqlServer.Shared/CqrsSqlServer.Shared.csproj index 9a7f29c8..25e58fa1 100644 --- a/src/cqrs/cqrs-sqlserver/CqrsSqlServer.Shared/CqrsSqlServer.Shared.csproj +++ b/src/cqrs/cqrs-sqlserver/CqrsSqlServer.Shared/CqrsSqlServer.Shared.csproj @@ -1,7 +1,7 @@  - net8.0 + $(NetRuntime) enable enable @@ -9,8 +9,8 @@ - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/cqrs/cqrs-sqlserver/CqrsSqlServer.sln b/src/cqrs/cqrs-sqlserver/CqrsSqlServer.sln deleted file mode 100644 index 4f7a13ca..00000000 --- a/src/cqrs/cqrs-sqlserver/CqrsSqlServer.sln +++ /dev/null @@ -1,42 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.31903.59 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CqrsSqlServer.Shared", "CqrsSqlServer.Shared\CqrsSqlServer.Shared.csproj", "{50E991B0-B7F6-4EA9-9A49-DCB775008152}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CqrsSqlServer.Backend", "CqrsSqlServer.Backend\CqrsSqlServer.Backend.csproj", "{E5872C18-242A-4F52-BBE4-CF4CB272CC4E}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CqrsSqlServer.DataModel", "CqrsSqlServer.DataModel\CqrsSqlServer.DataModel.csproj", "{A1B9790C-AC65-46C0-8BC5-2C4013F5245D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CqrsSqlServer.Frontend", "CqrsSqlServer.Frontend\CqrsSqlServer.Frontend.csproj", "{D291AA52-B8AA-4A8C-A5F2-9323259DAACF}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {50E991B0-B7F6-4EA9-9A49-DCB775008152}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {50E991B0-B7F6-4EA9-9A49-DCB775008152}.Debug|Any CPU.Build.0 = Debug|Any CPU - {50E991B0-B7F6-4EA9-9A49-DCB775008152}.Release|Any CPU.ActiveCfg = Release|Any CPU - {50E991B0-B7F6-4EA9-9A49-DCB775008152}.Release|Any CPU.Build.0 = Release|Any CPU - {E5872C18-242A-4F52-BBE4-CF4CB272CC4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E5872C18-242A-4F52-BBE4-CF4CB272CC4E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E5872C18-242A-4F52-BBE4-CF4CB272CC4E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E5872C18-242A-4F52-BBE4-CF4CB272CC4E}.Release|Any CPU.Build.0 = Release|Any CPU - {A1B9790C-AC65-46C0-8BC5-2C4013F5245D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A1B9790C-AC65-46C0-8BC5-2C4013F5245D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A1B9790C-AC65-46C0-8BC5-2C4013F5245D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A1B9790C-AC65-46C0-8BC5-2C4013F5245D}.Release|Any CPU.Build.0 = Release|Any CPU - {D291AA52-B8AA-4A8C-A5F2-9323259DAACF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D291AA52-B8AA-4A8C-A5F2-9323259DAACF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D291AA52-B8AA-4A8C-A5F2-9323259DAACF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D291AA52-B8AA-4A8C-A5F2-9323259DAACF}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - EndGlobalSection -EndGlobal diff --git a/src/cqrs/cqrs-sqlserver/CqrsSqlServer.slnx b/src/cqrs/cqrs-sqlserver/CqrsSqlServer.slnx new file mode 100644 index 00000000..d4997b2d --- /dev/null +++ b/src/cqrs/cqrs-sqlserver/CqrsSqlServer.slnx @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/dependency-injection/AutofacIntegration/AutofacIntegration.sln b/src/dependency-injection/AutofacIntegration/AutofacIntegration.sln deleted file mode 100644 index ef09b43c..00000000 --- a/src/dependency-injection/AutofacIntegration/AutofacIntegration.sln +++ /dev/null @@ -1,16 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AutofacIntegration", "AutofacIntegration\AutofacIntegration.csproj", "{154A11A6-FC4D-4BB0-A784-6940F40B1DC8}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {154A11A6-FC4D-4BB0-A784-6940F40B1DC8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {154A11A6-FC4D-4BB0-A784-6940F40B1DC8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {154A11A6-FC4D-4BB0-A784-6940F40B1DC8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {154A11A6-FC4D-4BB0-A784-6940F40B1DC8}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection -EndGlobal diff --git a/src/dependency-injection/AutofacIntegration/AutofacIntegration.slnx b/src/dependency-injection/AutofacIntegration/AutofacIntegration.slnx new file mode 100644 index 00000000..7ff0d11c --- /dev/null +++ b/src/dependency-injection/AutofacIntegration/AutofacIntegration.slnx @@ -0,0 +1,3 @@ + + + diff --git a/src/dependency-injection/AutofacIntegration/AutofacIntegration/AutofacIntegration.csproj b/src/dependency-injection/AutofacIntegration/AutofacIntegration/AutofacIntegration.csproj index 0c98f28e..d5bd74fe 100644 --- a/src/dependency-injection/AutofacIntegration/AutofacIntegration/AutofacIntegration.csproj +++ b/src/dependency-injection/AutofacIntegration/AutofacIntegration/AutofacIntegration.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + $(NetRuntime) enable enable @@ -10,7 +10,7 @@ - + diff --git a/src/reliability/rabbitmq-backpressure/ReliableRabbitMQ.Consumer/ReliableRabbitMQ.Consumer.csproj b/src/reliability/rabbitmq-backpressure/ReliableRabbitMQ.Consumer/ReliableRabbitMQ.Consumer.csproj index 0c2bf03d..beeb197a 100644 --- a/src/reliability/rabbitmq-backpressure/ReliableRabbitMQ.Consumer/ReliableRabbitMQ.Consumer.csproj +++ b/src/reliability/rabbitmq-backpressure/ReliableRabbitMQ.Consumer/ReliableRabbitMQ.Consumer.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + $(NetRuntime) enable enable diff --git a/src/reliability/rabbitmq-backpressure/ReliableRabbitMQ.Producer/ReliableRabbitMQ.Producer.csproj b/src/reliability/rabbitmq-backpressure/ReliableRabbitMQ.Producer/ReliableRabbitMQ.Producer.csproj index e0dfd25e..c2e8a1b4 100644 --- a/src/reliability/rabbitmq-backpressure/ReliableRabbitMQ.Producer/ReliableRabbitMQ.Producer.csproj +++ b/src/reliability/rabbitmq-backpressure/ReliableRabbitMQ.Producer/ReliableRabbitMQ.Producer.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + $(NetRuntime) enable enable diff --git a/src/reliability/rabbitmq-backpressure/ReliableRabbitMQ.Shared/ReliableRabbitMQ.Shared.csproj b/src/reliability/rabbitmq-backpressure/ReliableRabbitMQ.Shared/ReliableRabbitMQ.Shared.csproj index 7e220a3b..0df042d7 100644 --- a/src/reliability/rabbitmq-backpressure/ReliableRabbitMQ.Shared/ReliableRabbitMQ.Shared.csproj +++ b/src/reliability/rabbitmq-backpressure/ReliableRabbitMQ.Shared/ReliableRabbitMQ.Shared.csproj @@ -7,7 +7,7 @@ - + diff --git a/src/reliability/rabbitmq-backpressure/ReliableRabbitMQ.sln b/src/reliability/rabbitmq-backpressure/ReliableRabbitMQ.sln deleted file mode 100644 index 32487f10..00000000 --- a/src/reliability/rabbitmq-backpressure/ReliableRabbitMQ.sln +++ /dev/null @@ -1,34 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.30114.105 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReliableRabbitMQ.Shared", "ReliableRabbitMQ.Shared\ReliableRabbitMQ.Shared.csproj", "{D8BDCE1C-034B-4018-BDEE-DAD4B136E386}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReliableRabbitMQ.Producer", "ReliableRabbitMQ.Producer\ReliableRabbitMQ.Producer.csproj", "{10E57FA3-2944-45CD-BE9B-BEE950E7B330}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReliableRabbitMQ.Consumer", "ReliableRabbitMQ.Consumer\ReliableRabbitMQ.Consumer.csproj", "{739CC38D-2B53-453B-B2E3-C1439D2C88A1}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {D8BDCE1C-034B-4018-BDEE-DAD4B136E386}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D8BDCE1C-034B-4018-BDEE-DAD4B136E386}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D8BDCE1C-034B-4018-BDEE-DAD4B136E386}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D8BDCE1C-034B-4018-BDEE-DAD4B136E386}.Release|Any CPU.Build.0 = Release|Any CPU - {10E57FA3-2944-45CD-BE9B-BEE950E7B330}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {10E57FA3-2944-45CD-BE9B-BEE950E7B330}.Debug|Any CPU.Build.0 = Debug|Any CPU - {10E57FA3-2944-45CD-BE9B-BEE950E7B330}.Release|Any CPU.ActiveCfg = Release|Any CPU - {10E57FA3-2944-45CD-BE9B-BEE950E7B330}.Release|Any CPU.Build.0 = Release|Any CPU - {739CC38D-2B53-453B-B2E3-C1439D2C88A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {739CC38D-2B53-453B-B2E3-C1439D2C88A1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {739CC38D-2B53-453B-B2E3-C1439D2C88A1}.Release|Any CPU.ActiveCfg = Release|Any CPU - {739CC38D-2B53-453B-B2E3-C1439D2C88A1}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection -EndGlobal diff --git a/src/reliability/rabbitmq-backpressure/ReliableRabbitMQ.slnx b/src/reliability/rabbitmq-backpressure/ReliableRabbitMQ.slnx new file mode 100644 index 00000000..122cc702 --- /dev/null +++ b/src/reliability/rabbitmq-backpressure/ReliableRabbitMQ.slnx @@ -0,0 +1,5 @@ + + + + + From 4ac0fcf064fc9027aefc80fd46be7f4c565a743a Mon Sep 17 00:00:00 2001 From: Aaron Stannard Date: Thu, 9 Apr 2026 20:51:30 +0000 Subject: [PATCH 2/3] Fix CI matrix, add NuGet cache, clean up cluster-client props - Fix GitHub Actions matrix to properly cross-product solutions x OS (solution-name as base dimension + include for path mapping = 14 jobs) - Add NuGet package caching step (actions/cache@v5) - Fix self-referencing $(TargetFramework) in 3 cluster-client csproj files - Remove dead properties from cluster-client Directory.Build.props (LibraryFramework, TestsNetCoreFramework, unused test vars, typo'd XunitRunneVisualstudio, duplicate SourceLink config) - Add missing AutofacIntegration dependabot coverage --- .github/dependabot.yml | 5 ++++ .github/workflows/pr_validation.yml | 16 ++++++++++++ .../ClusterClientSample.FrontEnd.csproj | 2 +- .../ClusterClientSample.Gateway.csproj | 2 +- .../ClusterClientSample.Node.csproj | 2 +- .../cluster-client/Directory.Build.props | 25 ------------------- 6 files changed, 24 insertions(+), 28 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 405d765e..17c8c368 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -39,6 +39,11 @@ updates: schedule: interval: weekly open-pull-requests-limit: 5 + - package-ecosystem: nuget + directory: "/src/dependency-injection/AutofacIntegration" + schedule: + interval: weekly + open-pull-requests-limit: 5 - package-ecosystem: nuget directory: "/infrastructure/mssql-init-container/src" schedule: diff --git a/.github/workflows/pr_validation.yml b/.github/workflows/pr_validation.yml index 06d8e979..2cd149fe 100644 --- a/.github/workflows/pr_validation.yml +++ b/.github/workflows/pr_validation.yml @@ -19,6 +19,14 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, windows-latest] + solution-name: + - ShardingSqlServer + - ClusterClient + - Aspire + - CqrsSqlServer + - AutofacIntegration + - ReliableRabbitMQ + - SqlInitContainer include: - solution-name: ShardingSqlServer solution-path: src/clustering/sharding-sqlserver/ShardingSqlServer.slnx @@ -44,6 +52,14 @@ jobs: with: global-json-file: "./global.json" + - name: "Cache NuGet packages" + uses: actions/cache@v5 + with: + path: ~/.nuget/packages + key: ${{ runner.os }}-nuget-${{ hashFiles('**/global.json', '**/*.csproj', '**/Directory.Packages.props') }} + restore-keys: | + ${{ runner.os }}-nuget- + - name: "Update release notes" shell: pwsh run: ./build.ps1 diff --git a/src/clustering/cluster-client/ClusterClientSample.FrontEnd/ClusterClientSample.FrontEnd.csproj b/src/clustering/cluster-client/ClusterClientSample.FrontEnd/ClusterClientSample.FrontEnd.csproj index 60fbc1ad..5c275a65 100644 --- a/src/clustering/cluster-client/ClusterClientSample.FrontEnd/ClusterClientSample.FrontEnd.csproj +++ b/src/clustering/cluster-client/ClusterClientSample.FrontEnd/ClusterClientSample.FrontEnd.csproj @@ -2,7 +2,7 @@ Exe - $(TargetFramework) + net10.0 enable enable diff --git a/src/clustering/cluster-client/ClusterClientSample.Gateway/ClusterClientSample.Gateway.csproj b/src/clustering/cluster-client/ClusterClientSample.Gateway/ClusterClientSample.Gateway.csproj index d5232c15..2bbda3bc 100644 --- a/src/clustering/cluster-client/ClusterClientSample.Gateway/ClusterClientSample.Gateway.csproj +++ b/src/clustering/cluster-client/ClusterClientSample.Gateway/ClusterClientSample.Gateway.csproj @@ -2,7 +2,7 @@ Exe - $(TargetFramework) + net10.0 enable enable diff --git a/src/clustering/cluster-client/ClusterClientSample.Node/ClusterClientSample.Node.csproj b/src/clustering/cluster-client/ClusterClientSample.Node/ClusterClientSample.Node.csproj index 5e8465a5..cb134b02 100644 --- a/src/clustering/cluster-client/ClusterClientSample.Node/ClusterClientSample.Node.csproj +++ b/src/clustering/cluster-client/ClusterClientSample.Node/ClusterClientSample.Node.csproj @@ -2,7 +2,7 @@ Exe - $(TargetFramework) + net10.0 enable enable diff --git a/src/clustering/cluster-client/Directory.Build.props b/src/clustering/cluster-client/Directory.Build.props index 5e69f91f..7758841b 100644 --- a/src/clustering/cluster-client/Directory.Build.props +++ b/src/clustering/cluster-client/Directory.Build.props @@ -6,31 +6,6 @@ - netstandard2.0 - net10.0 - 2.9.3 - 18.4.0 - 8.0.1 - 3.1.5 [10.0.0,) - - - - - - - - - - - - - true - - true - - true - snupkg - From 556ad1d0af6c2f186b738d327f1e1e47d5dcd3cd Mon Sep 17 00:00:00 2001 From: Aaron Stannard Date: Thu, 9 Apr 2026 20:59:15 +0000 Subject: [PATCH 3/3] Remove NuGet cache step from CI workflow Stale cached packages can cause subtle restore issues after version bumps. Fresh restore on each run is safer for a samples repo. --- .github/workflows/pr_validation.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/pr_validation.yml b/.github/workflows/pr_validation.yml index 2cd149fe..a44c95b1 100644 --- a/.github/workflows/pr_validation.yml +++ b/.github/workflows/pr_validation.yml @@ -52,14 +52,6 @@ jobs: with: global-json-file: "./global.json" - - name: "Cache NuGet packages" - uses: actions/cache@v5 - with: - path: ~/.nuget/packages - key: ${{ runner.os }}-nuget-${{ hashFiles('**/global.json', '**/*.csproj', '**/Directory.Packages.props') }} - restore-keys: | - ${{ runner.os }}-nuget- - - name: "Update release notes" shell: pwsh run: ./build.ps1