Skip to content

ci: authenticate npm publish with NPM_TOKEN on Mac minis - #57

Merged
joeblau merged 2 commits into
mainfrom
cursor/npm-token-self-hosted-publish-5902
Oct 18, 2026
Merged

joeblau merged 2 commits into
mainfrom
cursor/npm-token-self-hosted-publish-5902

Conversation

@joeblau

@joeblau joeblau commented Oct 18, 2026

Copy link
Copy Markdown
Contributor

This drops OIDC trusted publishing and automatic provenance, per Joe's decision. Official npm docs say trusted publishing supports GitHub-hosted runners only; self-hosted runners are not supported (Trusted publishing for npm packages). Same tradeoff as bloxwap/font#14.

Every other job was already on runs-on: [self-hosted, macOS, ARM64] (runner group JWS) after #54. The remaining problem was the release publish job still requesting OIDC/--provenance, which cannot work on the minis.

What changed

  • publish stays on [self-hosted, macOS, ARM64].
  • Auth is NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} (organization secret, granular publish rights for @bloxwap packages). id-token: write is removed from this job because OIDC trusted publishing cannot work here. GitHub Pages deploy still uses OIDC.
  • npm publish no longer passes --provenance. Registry verification still requires the tested tarball integrity; it no longer requires an attestation URL.
  • check-publish-auth.mjs runs on every gated release, including when the version is already published. It checks the token (whoami, then collaborator write access, or a first-publish 404) and never prints it.
  • Candidate build, Linux/macOS binary smokes, package/bunx smokes, tagged-main gates, and the BLOXWAP_PUBLISH / npm-release publish gate are unchanged.

Docs

docs/ci-runners.md and docs/releases.md now say publish uses the org NPM_TOKEN and does not attach provenance.

Do not merge this PR from Actions.

Open in Web Open in Cursor 

Move the self-hosted release publish job off OIDC trusted publishing.
npm trusted publishing does not support self-hosted runners, so publish
now uses the organization NPM_TOKEN and no longer requests provenance.

Co-authored-by: Joe Blau <[email protected]>
@joeblau
joeblau marked this pull request as ready for review October 18, 2026 17:48
Keep #56 testnet harness updates and the NPM_TOKEN publish path
(no OIDC trusted publishing or automatic provenance).

Co-authored-by: Joe Blau <[email protected]>
@joeblau
joeblau merged commit bb242b8 into main Oct 18, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants