Publish via NuGet Trusted Publishing on GitHub #8
Loading…
Reference in a new issue
No description provided.
Delete branch "d/trusted-publishing"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
NuGet.org is deprecating long-lived API keys in favor of trusted publishing, which only GitHub and GitLab can do (OIDC issuers). Publishing moves back to GitHub Actions with the NuGet/login token exchange; the forge publish workflow is retired since it would need a stored key.
🤖 Claude AI Code Review
Summary
Migrates NuGet publishing from Forgejo (stored API key) to GitHub Actions using OIDC-based trusted publishing.
Code Quality ⭐⭐⭐⭐☆
Clean use of OIDC keyless publishing with well-documented rationale comments and correct scoped
id-token: writepermissions per job.Issues
🟡 nuget-publish.yml —
pack-mediapublishes both base and MAUI packages, butpublish-mediawaits 10 minutes for base indexing yet only depends onpublish-base. That's fine, but note MAUI packages get published inpublish-basebefore its own indexing — if any base package depends on MAUI or vice-versa the ordering could break restores. Verify dependency direction (likely fine given base excludes MAUI).🟢 nuget-publish.yml —
publish-mediare-packs MediaProcessing rather than reusing an artifact, so the built package isn't retained/uploaded like base and MAUI. Inconsistent but not a bug. Also the artifact retention (90 days) on base/maui is unused by publish (they download by name from the same run), so it's harmless.🟢 The
--skip-duplicateon push means a partially-published release won't fail loudly on re-run — intended behavior here, just noting.The workflow is correct: OIDC permissions are properly scoped, no secrets are hardcoded (the retired workflow's stored key is removed), and publish jobs are gated on
refs/tags/v. Nothing blocking.📊 Tokens: 6024 input + 537 output | 💰 Cost: ~$0.0435
Generated by Claude Opus 4.8 via Gitea Actions