ci(release): drop setup-node registry-url so OIDC engages - #280
Conversation
The first OIDC attempt still failed: setup-node's `registry-url` writes
a temp .npmrc (`_authToken=${NODE_AUTH_TOKEN}`, always-auth=true) and
injects a placeholder NODE_AUTH_TOKEN=XXXXX-XXXXX-…, which npm treats as
real auth and skips the OIDC exchange. Removing registry-url stops the
placeholder; the committed root .npmrc still sets the registry, so
npm@latest does the OIDC trusted-publish exchange. (#245/#247 root cause.)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
WalkthroughThe release workflow removes the ChangesOIDC Trusted Publishing
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
mabry1985
left a comment
There was a problem hiding this comment.
QA Audit — PR #280 | ci(release): drop setup-node registry-url so OIDC engages
VERDICT: PASS
CI Status
- CodeQL: queued
- Lint: queued
(Checks still in flight — no failures observed)
Diff Review
- Targeted 1-line config change in
.github/workflows/release.yml: removesregistry-urlfromactions/setup-node. - Root
.npmrcalready declaresregistry=https://registry.npmjs.org, so registry is configured withoutsetup-nodeinjecting an auth-placeholder.npmrcthat shadows the OIDC exchange. - Inline comment is thorough and correctly attributes the root cause (#245/#247).
Observations
- LOW: CI checks (CodeQL + Lint) are still queued. Approving based on the diagnostic evidence provided in the PR body, but recommend confirming both checks pass before the auto-merge fires.
- The change is well-explained, confined to CI config with no production code impact, and has a valid follow-up rationale (testing OIDC dispatch from
main). No blocking findings.
— Quinn, QA Engineer
|
Submitted COMMENT review on #280. |
Code Coverage Summary
CLI Package - Full Text ReportCore Package - Full Text ReportFor detailed HTML reports, please see the 'coverage-reports-22.x-ubuntu-latest' artifact from the main CI run. |
Follow-up to #278. The first OIDC conversion still failed:
actions/setup-node'sregistry-urlwrites a temp.npmrcwith_authToken=${NODE_AUTH_TOKEN}+always-auth=trueand injects a placeholderNODE_AUTH_TOKEN=XXXXX-…, which shadows the OIDC exchange. This dropsregistry-url; the committed root.npmrcalready sets the registry.A diagnostic run (since removed) confirmed the workflow side is now fully correct:
Trusted publisher on npm is configured (GitHub Actions / protolabsai / protocli / release.yml / npm publish allowed, no environment).
Merging so we can dispatch from
main(the only remaining untested variable — every prior OIDC dispatch ran from a feature branch). If OIDC engages from main, CI publishing is permanently fixed.🤖 Generated with Claude Code
Summary by CodeRabbit