Skip to content

ci: run npm publish on self-hosted Mac minis - #59

Merged
joeblau merged 1 commit into
mainfrom
cursor/self-hosted-npm-publish-caa5
Oct 18, 2026
Merged

joeblau merged 1 commit into
mainfrom
cursor/self-hosted-npm-publish-caa5

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. This PR moves the last GitHub-hosted job (Publish to npm on ubuntu-latest) onto the JWS Mac minis and authenticates with the org-level NPM_TOKEN secret (NODE_AUTH_TOKEN) instead of OIDC.

Same change as bloxwap/font#14. Joe already created the org-level NPM_TOKEN (granular, publish rights for @bloxwap packages) and shared it with the open-source repos.

What changed

  • publish now uses runs-on: [self-hosted, macOS, ARM64] (same labels as tests, coverage, and docs; runner group JWS).
  • Auth is NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}. id-token: write is removed because OIDC trusted publishing cannot work here.
  • actions/setup-node sets registry-url: https://registry.npmjs.org so npm can use the token.
  • TMPDIR is pointed at $RUNNER_TEMP like the other Mac mini jobs (prepublishOnly still runs the full test suite).
  • Version/tag matching, the npm >=11.5.1 CLI check, prepack, prepublishOnly tests, and npm publish --workspace @bloxwap/chart are unchanged. No check is skipped or weakened.
  • This package does not need Python; actions/setup-python is not used.

Docs

  • docs/ci-runners.md now says every job is on the minis, and that publish uses NPM_TOKEN without provenance.
  • The development guide no longer claims tokenless trusted publishing.

Do not merge until CI is green.

Open in Web Open in Cursor 

Move the last GitHub-hosted job onto the JWS Mac mini fleet
([self-hosted, macOS, ARM64]). npm trusted publishing does not support
self-hosted runners, so publish now authenticates with NODE_AUTH_TOKEN
from the org NPM_TOKEN secret. That drops OIDC trusted publishing and
automatic provenance.

Version/tag matching, the npm >=11.5.1 CLI check, prepack, and
prepublishOnly tests are unchanged.

Co-authored-by: Joe Blau <[email protected]>
@joeblau
joeblau marked this pull request as ready for review October 18, 2026 17:41
@joeblau
joeblau merged commit 1568bbc into main Oct 18, 2026
4 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