@@ -122,6 +122,7 @@ jobs:
122122 final-version : ${{ steps.version-override.outputs.FINAL_VERSION }}
123123 final-nuget-version : ${{ steps.version-override.outputs.FINAL_NUGET_VERSION }}
124124 final-assembly-version : ${{ steps.version-override.outputs.FINAL_ASSEMBLY_VERSION }}
125+ final-file-version : ${{ steps.version-override.outputs.FINAL_FILE_VERSION }}
125126 final-informational-version : ${{ steps.version-override.outputs.FINAL_INFORMATIONAL_VERSION }}
126127 use-tag-version : ${{ steps.version-override.outputs.USE_TAG_VERSION }}
127128
@@ -157,8 +158,12 @@ jobs:
157158 echo "FINAL_VERSION=$VALIDATED_VERSION" >> $GITHUB_OUTPUT
158159 echo "FINAL_NUGET_VERSION=$VALIDATED_VERSION" >> $GITHUB_OUTPUT
159160 # For assembly version, remove pre-release and build metadata
160- ASSEMBLY_VERSION="${VALIDATED_VERSION%%[-+]*}"
161+ ASSEMBLY_VERSION="${VALIDATED_VERSION%%[-+]*}.0"
162+ if [[ ! "$ASSEMBLY_VERSION" =~ \.[0-9]+$ ]]; then
163+ ASSEMBLY_VERSION="${ASSEMBLY_VERSION}.0"
164+ fi
161165 echo "FINAL_ASSEMBLY_VERSION=$ASSEMBLY_VERSION" >> $GITHUB_OUTPUT
166+ echo "FINAL_FILE_VERSION=$ASSEMBLY_VERSION" >> $GITHUB_OUTPUT
162167 echo "FINAL_INFORMATIONAL_VERSION=$VALIDATED_VERSION" >> $GITHUB_OUTPUT
163168 echo "USE_TAG_VERSION=true" >> $GITHUB_OUTPUT
164169 else
@@ -167,6 +172,7 @@ jobs:
167172 echo "FINAL_VERSION=${{ steps.gitversion.outputs.SemVer }}" >> $GITHUB_OUTPUT
168173 echo "FINAL_NUGET_VERSION=${{ steps.gitversion.outputs.NuGetVersion }}" >> $GITHUB_OUTPUT
169174 echo "FINAL_ASSEMBLY_VERSION=${{ steps.gitversion.outputs.AssemblySemVer }}" >> $GITHUB_OUTPUT
175+ echo "FINAL_FILE_VERSION=${{ steps.gitversion.outputs.AssemblySemFileVer }}" >> $GITHUB_OUTPUT
170176 echo "FINAL_INFORMATIONAL_VERSION=${{ steps.gitversion.outputs.InformationalVersion }}" >> $GITHUB_OUTPUT
171177 echo "USE_TAG_VERSION=false" >> $GITHUB_OUTPUT
172178 fi
@@ -184,6 +190,7 @@ jobs:
184190 echo " SemVer: ${{ steps.gitversion.outputs.SemVer }}"
185191 echo " NuGetVersion: ${{ steps.gitversion.outputs.NuGetVersion }}"
186192 echo " AssemblySemVer: ${{ steps.gitversion.outputs.AssemblySemVer }}"
193+ echo " AssemblySemFileVer: ${{ steps.gitversion.outputs.AssemblySemFileVer }}"
187194 echo " InformationalVersion: ${{ steps.gitversion.outputs.InformationalVersion }}"
188195 echo " PreReleaseTag: ${{ steps.gitversion.outputs.PreReleaseTag }}"
189196 echo " PreReleaseNumber: ${{ steps.gitversion.outputs.PreReleaseNumber }}"
@@ -192,6 +199,7 @@ jobs:
192199 echo " Version: ${{ steps.version-override.outputs.FINAL_VERSION }}"
193200 echo " NuGet Version: ${{ steps.version-override.outputs.FINAL_NUGET_VERSION }}"
194201 echo " Assembly Version: ${{ steps.version-override.outputs.FINAL_ASSEMBLY_VERSION }}"
202+ echo " File Version: ${{ steps.version-override.outputs.FINAL_FILE_VERSION }}"
195203 echo " Informational Version: ${{ steps.version-override.outputs.FINAL_INFORMATIONAL_VERSION }}"
196204
197205 build :
@@ -227,25 +235,27 @@ jobs:
227235 with :
228236 dotnet-version : ${{ matrix.dotnet }}
229237
230- - name : Debug Environment Variables
238+ - name : Display Build Version Info
231239 run : |
232- echo "🔍 Build Environment Debug:"
233- echo "GitVersion_SemVer: ${{ needs.calculate-version.outputs.final-version }}"
234- echo "GitVersion_NuGetVersion: ${{ needs.calculate-version.outputs.final-nuget-version }}"
235- echo "GitVersion_AssemblySemVer: ${{ needs.calculate-version.outputs.final-assembly-version }}"
236- echo "GitVersion_InformationalVersion: ${{ needs.calculate-version.outputs.final-informational-version }}"
240+ echo "🔍 Release Build Version Information:"
241+ echo "SemVer: ${{ needs.calculate-version.outputs.final-version }}"
242+ echo "NuGet Version: ${{ needs.calculate-version.outputs.final-nuget-version }}"
243+ echo "Assembly Version: ${{ needs.calculate-version.outputs.final-assembly-version }}"
244+ echo "File Version: ${{ needs.calculate-version.outputs.final-file-version }}"
245+ echo "Informational Version: ${{ needs.calculate-version.outputs.final-informational-version }}"
237246
238247 - name : Restore dependencies
239248 run : dotnet restore -p:TargetFramework=${{ matrix.dotnet-framework }}
240249
241250 - name : Build
242- run : dotnet build --no-restore -c Release -f ${{ matrix.dotnet-framework }}
243- env :
244- GitVersion_SemVer : ${{ needs.calculate-version.outputs.final-version }}
245- GitVersion_AssemblySemVer : ${{ needs.calculate-version.outputs.final-assembly-version }}
246- GitVersion_AssemblySemFileVer : ${{ needs.calculate-version.outputs.final-assembly-version }}
247- GitVersion_InformationalVersion : ${{ needs.calculate-version.outputs.final-informational-version }}
248- GitVersion_NuGetVersion : ${{ needs.calculate-version.outputs.final-nuget-version }}
251+ run : |
252+ dotnet build --no-restore -c Release -f ${{ matrix.dotnet-framework }} \
253+ -p:Version="${{ needs.calculate-version.outputs.final-nuget-version }}" \
254+ -p:PackageVersion="${{ needs.calculate-version.outputs.final-nuget-version }}" \
255+ -p:AssemblyVersion="${{ needs.calculate-version.outputs.final-assembly-version }}" \
256+ -p:FileVersion="${{ needs.calculate-version.outputs.final-file-version }}" \
257+ -p:InformationalVersion="${{ needs.calculate-version.outputs.final-informational-version }}" \
258+ -p:UseGitVersion=false
249259
250260 - name : Test
251261 run : dotnet test --no-build --verbosity normal -c Release -f ${{ matrix.dotnet-framework }} --collect:"XPlat Code Coverage" --results-directory ./coverage
@@ -318,6 +328,7 @@ jobs:
318328 echo "| Version | \`${{ needs.calculate-version.outputs.final-version }}\` |" >> $GITHUB_STEP_SUMMARY
319329 echo "| NuGet Version | \`${{ needs.calculate-version.outputs.final-nuget-version }}\` |" >> $GITHUB_STEP_SUMMARY
320330 echo "| Assembly Version | \`${{ needs.calculate-version.outputs.final-assembly-version }}\` |" >> $GITHUB_STEP_SUMMARY
331+ echo "| File Version | \`${{ needs.calculate-version.outputs.final-file-version }}\` |" >> $GITHUB_STEP_SUMMARY
321332 echo "| Used Tag Version | ${{ needs.calculate-version.outputs.use-tag-version == 'true' && '✅ Yes' || '❌ No (GitVersion)' }} |" >> $GITHUB_STEP_SUMMARY
322333 echo "| Trigger | ${{ needs.validate-release.outputs.is-manual == 'true' && '🖱️ Manual' || '🏷️ Tag Push' }} |" >> $GITHUB_STEP_SUMMARY
323334 echo "| NuGet.org | ${{ needs.validate-release.outputs.should-publish == 'true' && '✅ Published' || '❌ Skipped' }} |" >> $GITHUB_STEP_SUMMARY
0 commit comments