Skip to content

Commit d64ef5b

Browse files
ci: fix and add some stuff
1 parent 1bac724 commit d64ef5b

1 file changed

Lines changed: 20 additions & 17 deletions

File tree

.github/workflows/publish.yml

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,18 @@ on:
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

1721
jobs:
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

Comments
 (0)