Skip to content

Commit c0ac39e

Browse files
committed
Fix Directory.Build.props version update - handle all version formats correctly
1 parent 7d0c05a commit c0ac39e

File tree

1 file changed

+34
-3
lines changed

1 file changed

+34
-3
lines changed

.github/workflows/sync-version-branches.yml

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,12 +130,43 @@ jobs:
130130
echo "dotnet_version=$dotnet_version" >> $GITHUB_ENV
131131
if [ -f "src/Directory.Build.props" ]; then
132132
echo "🔄 Updating version and target framework to .NET $dotnet_version..."
133-
# Update version number (9.0.x → 8.0.x)
134-
sed -i "s/<Version>9\.0\./<Version>$dotnet_version.0./g" src/Directory.Build.props
133+
134+
# Get current version from main
135+
current_version=$(grep -oP '<Version>\K[^<]+' src/Directory.Build.props)
136+
echo "Current version from main: $current_version"
137+
138+
# Replace the major version (9 → 8) while keeping the rest
139+
new_version=$(echo "$current_version" | sed "s/^9\./$dotnet_version./")
140+
echo "New version for ${{ matrix.target_branch }}: $new_version"
141+
142+
# Update version number
143+
sed -i "s|<Version>$current_version</Version>|<Version>$new_version</Version>|g" src/Directory.Build.props
144+
135145
# Update target framework (net9.0 → net8.0)
136-
sed -i "s/<TargetFramework>net9\.0</<TargetFramework>net$dotnet_version.0</g" src/Directory.Build.props
146+
sed -i "s|<TargetFramework>net9\.0</TargetFramework>|<TargetFramework>net$dotnet_version.0</TargetFramework>|g" src/Directory.Build.props
147+
148+
# Show the changes
149+
echo "Updated Directory.Build.props:"
150+
grep -E "<Version>|<TargetFramework>" src/Directory.Build.props
137151
fi
138152

153+
# Verify Directory.Build.props was updated correctly
154+
if [ -f "src/Directory.Build.props" ]; then
155+
if grep -q "<TargetFramework>net9" src/Directory.Build.props; then
156+
echo "❌ ERROR: TargetFramework still shows net9.0, update failed!"
157+
echo "Content of Directory.Build.props:"
158+
cat src/Directory.Build.props
159+
exit 1
160+
fi
161+
if grep -q "<Version>9\." src/Directory.Build.props; then
162+
echo "❌ ERROR: Version still starts with 9., update failed!"
163+
echo "Content of Directory.Build.props:"
164+
cat src/Directory.Build.props
165+
exit 1
166+
fi
167+
echo "✅ Directory.Build.props updated successfully"
168+
fi
169+
139170
# Stage all changes
140171
git add -A
141172

0 commit comments

Comments
 (0)