ci: replace npm publish token with trusted publishing - #7
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Replace the failed token-based npm publication with GitHub Actions trusted publishing (OIDC).
contents: readandid-token: write; restrict it tomain.NODE_AUTH_TOKEN: secrets.NPM_TOKENreference. npm exchanges the job's OIDC token for a short-lived publication credential.No dependency patches, package-version changes, lockfile changes, or library-code changes.
skip-version-bumpretains the pending 5.4.0 version rather than bumping for this infrastructure-only change.One-time npm setup
Run with an npm maintainer account with package write access and account-level 2FA enabled:
The trust configuration uses the workflow filename
publish.ymland no environment. No npm credentials need to be copied into GitHub Actions.After setup and merge, start a new workflow run:
Do not rerun the previous failed run, which uses the old token-based workflow revision. After successful OIDC publication, remove the unused repository secret and revoke the old npm token only after checking that other packages do not share it.
Validation
actionlint .github/workflows/publish.yml: passed.git diff --check: passed.Actual OIDC authentication/provenance cannot be verified locally. The first successful hosted publish after maintainer setup is the end-to-end verification. No npm trust settings or existing secrets were modified by this PR.