name: Release on: release: types: [published] jobs: pack-and-publish: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup .NET uses: actions/setup-dotnet@v4 with: dotnet-version: 9.0.x - name: Restore run: dotnet restore - name: Set version from tag id: version run: | TAG="${GITHUB_REF_NAME#v}" echo "PACKAGE_VERSION=$TAG" >> $GITHUB_OUTPUT - name: Build run: dotnet build -c Release -p:Version=${{ steps.version.outputs.PACKAGE_VERSION }} - name: Pack run: dotnet pack -c Release --no-build -p:PackageVersion=${{ steps.version.outputs.PACKAGE_VERSION }} -o ./artifacts - name: Upload package artifact uses: actions/upload-artifact@v4 with: name: nuget-packages path: artifacts/*.nupkg - name: Publish to NuGet env: NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }} run: dotnet nuget push ./artifacts/*.nupkg --source https://git.frigat.duckdns.org/api/packages/FrigaT/nuget/index.json --api-key $NUGET_API_KEY --skip-duplicate