diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 905263b..8683394 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,23 +48,41 @@ jobs: retention-days: 2 release: needs: build - name: Release to Feedz.io - if: startsWith(github.ref, 'refs/tags') runs-on: ubuntu-latest steps: - - name: Setup .NET 8 - uses: actions/setup-dotnet@v5.0.0 + - name: checkout code + uses: actions/checkout@v4.2.2 + - name: Setup .NET + uses: actions/setup-dotnet@v4.3.1 with: - dotnet-version: 8.0.x + dotnet-version: 10.0.x - name: Download artifacts - uses: actions/download-artifact@v6.0.0 + uses: actions/download-artifact@v4.3.0 with: name: nuget-packages path: nugets/ - - name: Push package to Feedz.io - run: dotnet nuget push ./nugets/*.nupkg --source https://f.feedz.io/servicecomposer/pre-releases/nuget --api-key ${{ secrets.FEEDZ_API_KEY }} - - name: Push symbols to Feedz.io - run: dotnet nuget push ./nugets/*.snupkg --source https://f.feedz.io/servicecomposer/pre-releases/symbols --api-key ${{ secrets.FEEDZ_API_KEY }} - - - + - name: Check Tag Type + id: check-tag-type + if: github.ref_type == 'tag' + run: | + if [[ ${{ github.ref_name }} =~ [0-9]+.[0-9]+.[0-9]+$ ]]; then + echo "release-type=production" >> $GITHUB_OUTPUT + else + echo "release-type=pre-release" >> $GITHUB_OUTPUT + fi + - name: Deploy pre-release to Feedz.io + if: steps.check-tag-type.outputs.release-type == 'pre-release' + run: | + echo "Tag is pre-release" + echo "Pushing package to Feedz.io" + dotnet nuget push ./nugets/*.nupkg --source https://f.feedz.io/servicecomposer/pre-releases/nuget --api-key ${{ secrets.FEEDZ_API_KEY }} + echo "Pushing Symbols to Feedz.io" + dotnet nuget push ./nugets/*.snupkg --source https://f.feedz.io/servicecomposer/pre-releases/symbols --api-key ${{ secrets.FEEDZ_API_KEY }} + - name: Deploy release to NuGet + if: steps.check-tag-type.outputs.release-type == 'production' + run: | + echo "Tag is production" + echo "Pushing package to NuGet.org" + dotnet nuget push ./nugets/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} + echo "Pushing Symbols to NuGet.org" + dotnet nuget push ./nugets/*.snupkg --api-key ${{ secrets.NUGET_API_KEY }}