1313 description : ' Type of release event to simulate (e.g., published)'
1414 required : true
1515 default : ' published'
16+ version :
17+ description : ' Version to use for the package'
18+ required : true
19+ default : ' 0.0.9'
1620
1721jobs :
1822 publish :
1923 runs-on : windows-latest
24+ env :
25+ RELEASE_TYPE : ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.release_type || github.event.release.prerelease && 'prereleased' || 'published' }}
26+ VERSION : ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.version || github.event.release.tag_name }}
27+
2028 steps :
2129 - name : Checkout code
2230 uses : actions/checkout@v4
@@ -29,31 +37,26 @@ jobs:
2937 - name : Restore dependencies
3038 run : dotnet restore
3139
32- - name : Build project
40+ - name : Determine configuration
3341 run : |
34- if [ "${{ github.event.release.prerelease }} " = "true " ]; then
35- echo "Building Debug for pre-release"
36- dotnet build --no-restore -c Debug
42+ if [ "${RELEASE_TYPE} " = "prereleased " ]; then
43+ echo "Configuration= Debug" >> $GITHUB_ENV
44+ echo "PackageVersion=${VERSION}-beta" >> $GITHUB_ENV
3745 else
38- echo "Building Release for full release"
39- dotnet build --no-restore -c Release
46+ echo "Configuration= Release" >> $GITHUB_ENV
47+ echo "PackageVersion=${VERSION}" >> $GITHUB_ENV
4048 fi
4149
50+ - name : Build project
51+ run : dotnet build --no-restore -c ${{ env.Configuration }}
52+
4253 - name : Pack the NuGet package
43- run : |
44- if [ "${{ github.event.release.prerelease }}" = "true" ]; then
45- dotnet pack --no-build -c Debug -o nupkgs /p:Version=${{ github.event.release.tag_name }}
46- else
47- dotnet pack --no-build -c Release -o nupkgs /p:Version=${{ github.event.release.tag_name }}
48- fi
54+ run : dotnet pack --no-build -c ${{ env.Configuration }} -o nupkgs /p:Version=${{ env.PackageVersion }}
4955
5056 - name : Publish to NuGet.org
51- run : dotnet nuget push "nupkgs/*.nupkg" --api-key ${{secrets.NUGET_API_KEY}} --source https://api.nuget.org/v3/index.json
57+ run : dotnet nuget push "nupkgs/*.nupkg" --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json
5258
5359 - name : Push to GitHub Packages
54- run : |
55- dotnet nuget push ./dist/*.nupkg \
56- --api-key ${{ secrets.GITHUB_TOKEN }} \
57- --source nuget.pkg.github.com/${{ github.repository_owner }}/index.json
60+ run : dotnet nuget push "nupkgs/*.nupkg" --api-key ${{ secrets.GITHUB_TOKEN }} --source nuget.pkg.github.com/${{ github.repository_owner }}/index.json
5861 env :
5962 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments