From 7e637a80331c3f300cc02d499725aa87cf5bb532 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 2 Sep 2026 14:15:05 +0000 Subject: [PATCH] Use NuGet trusted publishing (OIDC) in release workflow Co-authored-by: SteveWinward <2002602+SteveWinward@users.noreply.github.com> --- .github/workflows/release_build.yml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release_build.yml b/.github/workflows/release_build.yml index 56d88b8..abad73b 100644 --- a/.github/workflows/release_build.yml +++ b/.github/workflows/release_build.yml @@ -7,10 +7,17 @@ on: # Allows you to run this workflow manually from the Actions tab workflow_dispatch: +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest + permissions: + contents: read + # Required for NuGet trusted publishing (OIDC) + id-token: write defaults: run: working-directory: 'src' @@ -44,6 +51,13 @@ jobs: GOOGLE_SPREADSHEET_ID: ${{ secrets.GOOGLE_SPREADSHEET_ID }} GOOGLE_JSON_CREDS: ${{ secrets.GOOGLE_JSON_CREDS }} + # Login to Nuget.org using trusted publishing (OIDC) to get a short lived API key + - name: NuGet login + uses: NuGet/login@v1 + id: login + with: + user: ${{ secrets.NUGET_USER }} + # Publish the Nuget file to Nuget.org - name: PushNuget - run: dotnet nuget push **/*.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_API_KEY }} --skip-duplicate + run: dotnet nuget push **/*.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{ steps.login.outputs.NUGET_API_KEY }} --skip-duplicate