name: Publish Nuget Packages on: release: types: [published] run-name: "Publish version v${{ github.event.release.tag_name }} to nuget" jobs: publish: runs-on: ubuntu-latest strategy: matrix: project: - OmegaLeo.HelperLib - OmegaLeo.HelperLib.Changelog - OmegaLeo.HelperLib.Game - OmegaLeo.HelperLib.Documentation - OmegaLeo.HelperLib.Shared env: VERSION: ${{ github.event.release.tag_name }} PACKAGE: ./${{ matrix.project }}/bin/Release/${{ matrix.project }}.${{ github.event.release.tag_name }}.nupkg steps: - uses: actions/checkout@v4 - name: Setup .Net Core uses: actions/setup-dotnet@v4 with: dotnet-version: '8.0.x' - name: Create Nuget Package run: dotnet pack "./${{ matrix.project }}/${{ matrix.project }}.csproj" -c Release /p:Version=$VERSION /p:PackageReleaseNotes="See ${{ github.server_url }}/${{ github.repository }}/releases/tag/$VERSION" - name: Publish Nuget Package run: dotnet nuget push "$PACKAGE" --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate - name: Publish to Gitea Packages run: dotnet nuget push "$PACKAGE" --api-key ${{ secrets.TOKEN }} --source ${{ github.server_url }}/api/packages/${{ github.repository_owner }}/nuget/index.json --skip-duplicate - name: Upload assets to release run: | curl --fail --silent --show-error \ -H "Authorization: token ${{ secrets.TOKEN }}" \ -F "attachment=@$PACKAGE" \ "${{ github.server_url }}/api/v1/repos/${{ github.repository }}/releases/${{ github.event.release.id }}/assets?name=${{ matrix.project }}.$VERSION.nupkg"