From 5796907344595b71287255fe49802c5e3efad83b Mon Sep 17 00:00:00 2001 From: Arcenox Date: Sat, 14 Mar 2026 03:27:59 +0100 Subject: [PATCH] Relax abstractions version constraints and fix sync workflow version handling MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add DotNetAbstractionsVersion property with open range [8.0.0,) to allow consumers to use newer Microsoft.Extensions.*Abstractions packages - Update all csproj files to use $(DotNetAbstractionsVersion) for abstractions - Fix sync workflow to handle any major version dynamically instead of hardcoded patterns (e.g. 10.x → 8.x now works correctly) - Preserve DotNetAbstractionsVersion from target branch during sync Co-Authored-By: Claude Opus 4.6 --- .github/workflows/sync-version-branches.yml | 25 ++++++++++++++----- src/Directory.Build.props | 1 + ...ckerQ.Instrumentation.OpenTelemetry.csproj | 4 +-- .../TickerQ.Utilities.csproj | 10 ++++---- src/TickerQ/TickerQ.csproj | 2 +- 5 files changed, 28 insertions(+), 14 deletions(-) diff --git a/.github/workflows/sync-version-branches.yml b/.github/workflows/sync-version-branches.yml index a17a0c41..27c23adf 100644 --- a/.github/workflows/sync-version-branches.yml +++ b/.github/workflows/sync-version-branches.yml @@ -222,19 +222,32 @@ jobs: # 3. Update Directory.Build.props from main with correct version numbers if [ -f "src/Directory.Build.props" ]; then + # Save DotNetAbstractionsVersion from target branch before overwriting + target_abstractions_version=$(grep -oP '\K[^<]+' src/Directory.Build.props 2>/dev/null || echo "") + git checkout main -- src/Directory.Build.props - # Version: 10.x.x → {dotnet_ver}.x.x + # Version: e.g. 10.x.x → 8.x.x current_version=$(grep -oP '\K[^<]+' src/Directory.Build.props) - new_version=$(echo "$current_version" | sed "s/^10\./$DOTNET_VER./") + new_version=$(echo "$current_version" | sed "s/^[0-9]\+\./$DOTNET_VER./") sed -i "s|$current_version|$new_version|g" src/Directory.Build.props - # TargetFramework: net10.0 → net{dotnet_ver}.0 - sed -i "s|net10\.0|net${DOTNET_VER}.0|g" src/Directory.Build.props + # TargetFramework: e.g. net10.0 → net8.0 + sed -i "s|net[0-9]\+\.0|net${DOTNET_VER}.0|g" src/Directory.Build.props - # DotNetVersion: [10.0.0,11.0.0) → [{dotnet_ver}.0.0,{dotnet_ver+1}.0.0) + # DotNetVersion: e.g. [10.0.0,11.0.0) → [8.0.0,9.0.0) next_ver=$((DOTNET_VER + 1)) - sed -i "s|\[10\.0\.0,11\.0\.0)|[${DOTNET_VER}.0.0,${next_ver}.0.0)|g" src/Directory.Build.props + sed -i "s|\[[0-9]\+\.0\.0,[0-9]\+\.0\.0)|[${DOTNET_VER}.0.0,${next_ver}.0.0)|g" src/Directory.Build.props + + # Preserve DotNetAbstractionsVersion from target branch if it differs + if [ -n "$target_abstractions_version" ]; then + if grep -q '' src/Directory.Build.props; then + sed -i "s|[^<]*|$target_abstractions_version|g" src/Directory.Build.props + else + sed -i "//a\\ $target_abstractions_version" src/Directory.Build.props + fi + echo " Preserved DotNetAbstractionsVersion: $target_abstractions_version" + fi echo " Updated Directory.Build.props: Version=$new_version, TF=net${DOTNET_VER}.0, DotNetVersion=[${DOTNET_VER}.0.0,${next_ver}.0.0)" fi diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 4e678e09..d908d0ef 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -10,6 +10,7 @@ true 10.1.1 [10.0.0,11.0.0) + [8.0.0,) default diff --git a/src/TickerQ.Instrumentation.OpenTelemetry/TickerQ.Instrumentation.OpenTelemetry.csproj b/src/TickerQ.Instrumentation.OpenTelemetry/TickerQ.Instrumentation.OpenTelemetry.csproj index 226f76ae..72092580 100644 --- a/src/TickerQ.Instrumentation.OpenTelemetry/TickerQ.Instrumentation.OpenTelemetry.csproj +++ b/src/TickerQ.Instrumentation.OpenTelemetry/TickerQ.Instrumentation.OpenTelemetry.csproj @@ -11,8 +11,8 @@ - - + + diff --git a/src/TickerQ.Utilities/TickerQ.Utilities.csproj b/src/TickerQ.Utilities/TickerQ.Utilities.csproj index 464a3bd8..5bfdc05f 100644 --- a/src/TickerQ.Utilities/TickerQ.Utilities.csproj +++ b/src/TickerQ.Utilities/TickerQ.Utilities.csproj @@ -12,11 +12,11 @@ - - - - - + + + + + diff --git a/src/TickerQ/TickerQ.csproj b/src/TickerQ/TickerQ.csproj index 66b5fa9d..09bcc17f 100644 --- a/src/TickerQ/TickerQ.csproj +++ b/src/TickerQ/TickerQ.csproj @@ -14,7 +14,7 @@ - +