|
15 | 15 | # Official NuGet Feed settings
|
16 | 16 | NUGET_FEED: https://api.nuget.org/v3/index.json
|
17 | 17 | NUGET_KEY: ${{ secrets.NUGET_KEY }}
|
18 |
| - NUGET_VERSIONING_REGEX: "[0-9]+\\.[0-9]+\\.[0-9]+-[a-zA-Z]+" |
| 18 | + NUGET_VERSIONING_REGEX: "[0-9]+\\.[0-9]+\\.[0-9]+(-[a-zA-Z]+)?" |
19 | 19 |
|
20 | 20 | jobs:
|
21 | 21 | deploy:
|
|
24 | 24 | runs-on: windows-2019
|
25 | 25 |
|
26 | 26 | steps:
|
27 |
| - - uses: actions/checkout@v2 |
| 27 | + - name: Validate release version |
| 28 | + run: | |
| 29 | + $VERSION=${env:GITHUB_REF_NAME} |
| 30 | + if($VERSION[0] -eq "v"){ |
| 31 | + $VERSION=$VERSION.substring(1) |
| 32 | + } |
| 33 | + if(!($VERSION -match ${env:NUGET_VERSIONING_REGEX})) { |
| 34 | + throw "Release tag did not contain a valid NUGET version. TAG was : ${env:GITHUB_REF_NAME}" |
| 35 | + } |
| 36 | + echo "Version to use is - $VERSION" |
| 37 | + echo "RELEASE_VERSION=$VERSION" | Out-File -FilePath ${env:GITHUB_ENV} -Append |
| 38 | + - uses: actions/checkout@v2 |
28 | 39 | - name: Setup .NET Core
|
29 | 40 | uses: actions/setup-dotnet@v1
|
30 | 41 | with:
|
|
37 | 48 | - name: Build solution
|
38 | 49 | run: dotnet build src/${{ env.PROJECT_NAME }}.sln -c Release --no-restore
|
39 | 50 | - name: Create Release NuGet package
|
40 |
| - run: | |
41 |
| - $VERSION=${env:GITHUB_REF_NAME} |
42 |
| - if($VERSION[0] -eq "v"){ |
43 |
| - $VERSION=$VERSION.substring(1) |
44 |
| - } |
45 |
| -
|
46 |
| - if(!($VERSION -match ${env:NUGET_VERSIONING_REGEX})) { |
47 |
| - throw "Release tag did not contain a valid NUGET version. TAG was : ${env:GITHUB_REF_NAME}" |
48 |
| - } |
49 |
| - dotnet pack -v normal -c Release --include-symbols --include-source -p:PackageVersion=$VERSION -o nupkg src/${{ env.PROJECT_NAME }}/${{ env.PROJECT_NAME }}.csproj |
| 51 | + run: dotnet pack -v normal -c Release --include-symbols --include-source -p:PackageVersion=${{ env.RELEASE_VERSION }} -o nupkg src/${{ env.PROJECT_NAME }}/${{ env.PROJECT_NAME }}.csproj |
50 | 52 | - name: Push to Nuget
|
51 |
| - run: dotnet nuget push "./nupkg/${{ env.PROJECT_NAME }}.$VERSION.nupkg" --source https://api.nuget.org/v3/index.json --api-key ${{secrets.NUGET_KEY}} --skip-duplicate |
| 53 | + run: dotnet nuget push "./nupkg/${{ env.PROJECT_NAME }}.${{ env.RELEASE_VERSION }}.nupkg" --source https://api.nuget.org/v3/index.json --api-key ${{secrets.NUGET_KEY}} --skip-duplicate |
0 commit comments