diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index c87eddf..b3321c0 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -12,6 +12,10 @@ jobs:
publish:
runs-on: ubuntu-latest
+ permissions:
+ id-token: write # required for NuGet trusted publishing (OIDC token issuance)
+ contents: read
+
steps:
- name: Checkout
uses: actions/checkout@v6
@@ -39,5 +43,15 @@ jobs:
name: nuget-package
path: ./artifacts/*.nupkg
+ # Exchange the GitHub OIDC token for a short-lived nuget.org API key.
+ # Requires a Trusted Publishing policy configured on nuget.org for this
+ # repo + release.yml workflow. NUGET_USER is your nuget.org profile name
+ # (not your email). The key is valid for 1 hour, so fetch it just before push.
+ - name: NuGet login (OIDC → short-lived API key)
+ uses: NuGet/login@v1
+ id: nuget-login
+ with:
+ user: ${{ secrets.NUGET_USER }}
+
- name: Publish to NuGet
- run: dotnet nuget push "./artifacts/*.nupkg" --api-key "${{ secrets.NUGET_API_KEY }}" --source https://api.nuget.org/v3/index.json --skip-duplicate
+ run: dotnet nuget push "./artifacts/*.nupkg" --api-key "${{ steps.nuget-login.outputs.NUGET_API_KEY }}" --source https://api.nuget.org/v3/index.json --skip-duplicate
diff --git a/src/NextIteration.SpectreConsole.SelfUpdate/NextIteration.SpectreConsole.SelfUpdate.csproj b/src/NextIteration.SpectreConsole.SelfUpdate/NextIteration.SpectreConsole.SelfUpdate.csproj
index 83b231a..13887dd 100644
--- a/src/NextIteration.SpectreConsole.SelfUpdate/NextIteration.SpectreConsole.SelfUpdate.csproj
+++ b/src/NextIteration.SpectreConsole.SelfUpdate/NextIteration.SpectreConsole.SelfUpdate.csproj
@@ -39,9 +39,9 @@
-
-
-
+
+
+
diff --git a/tests/NextIteration.SpectreConsole.SelfUpdate.Tests/NextIteration.SpectreConsole.SelfUpdate.Tests.csproj b/tests/NextIteration.SpectreConsole.SelfUpdate.Tests/NextIteration.SpectreConsole.SelfUpdate.Tests.csproj
index 2b27af2..b8111b7 100644
--- a/tests/NextIteration.SpectreConsole.SelfUpdate.Tests/NextIteration.SpectreConsole.SelfUpdate.Tests.csproj
+++ b/tests/NextIteration.SpectreConsole.SelfUpdate.Tests/NextIteration.SpectreConsole.SelfUpdate.Tests.csproj
@@ -32,7 +32,7 @@
runtime; build; native; contentfiles; analyzers; buildtransitive
all
-
+