Skip to content

Commit 66a9c42

Browse files
Add OIDC token exchange for NuGet trusted publishing (#34)
The NuGet/login action exchanges the GitHub OIDC token for a short-lived API key, which is required for trusted publishing to work.
1 parent f0b77f7 commit 66a9c42

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

.github/workflows/publish_nuget.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,16 @@ jobs:
4242
- name: Create Packages
4343
run: dotnet pack /p:PackageVersion=${{ github.ref_name }} -c Release -o ./output
4444

45+
- name: NuGet login (OIDC → temp API key)
46+
uses: NuGet/login@v1
47+
id: nuget-login
48+
with:
49+
user: ${{ secrets.NUGET_USER }}
50+
4551
- name: Push Packages
4652
run: |
47-
dotnet nuget push "output/*.nupkg" -s https://api.nuget.org/v3/index.json
48-
dotnet nuget push "output/*.snupkg" -s https://api.nuget.org/v3/index.json
53+
dotnet nuget push "output/*.nupkg" --api-key ${{ steps.nuget-login.outputs.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json
54+
dotnet nuget push "output/*.snupkg" --api-key ${{ steps.nuget-login.outputs.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json
4955
5056
- name: "Extract latest release notes"
5157
shell: pwsh

0 commit comments

Comments
 (0)