• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

StoneCypher / jssm / aa01a95a888d54b7d15112badaebaac6f623daf9 / 9
100%
master: 100%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 12 May 2026 10:25AM UTC
Files 15
Run time 1s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

12 May 2026 09:29AM UTC coverage: 100.0%. Remained the same
aa01a95a888d54b7d15112badaebaac6f623daf9.9

push

github

StoneCypher
chore(ci): switch to npm trusted publishing (OIDC)

Replaces the long-lived `NPM_TOKEN` auth path with npm's
Trusted Publisher / OIDC flow.  The release job now exchanges
a short-lived GitHub-issued OIDC token with npm at publish
time, scoped to this specific workflow run.

Workflow changes:
- Add `permissions: id-token: write` on the release job so
  GitHub Actions issues the OIDC token for npm to verify.
- Switch `npm publish` to `npm publish --provenance --access
  public`.  `--provenance` triggers the OIDC code path and
  emits a signed attestation linking the published tarball
  to the exact GitHub Actions run that built it (visible as
  the Provenance badge on the npm package page).
- Remove the `env: NODE_AUTH_TOKEN` block.  The token is no
  longer used by `npm publish`.

Required npm-side configuration (one-time, manual UI work):
- npmjs.com -> jssm package settings -> Trusted Publishers ->
  Add Publisher: GitHub Actions, org `StoneCypher`,
  repo `jssm`, workflow filename `nodejs.yml`, environment
  blank.
- Toggle "Disallow token access" to closed.  Closes the
  parallel long-lived-token attack surface entirely.

Follow-up tasks once the first OIDC-authenticated publish
succeeds:
- Delete the `JSSM_PUBLISH_TOKEN_FOR_GH_CI_CD` automation
  token on npm (Account -> Access Tokens).
- Delete the `JSSM_PUBLISH_TOKEN_FOR_GH_CI_CD` secret in
  this repo's Settings -> Secrets and variables -> Actions.

827 of 827 branches covered (100.0%)

Branch coverage included in aggregate %.

7599 of 7599 relevant lines covered (100.0%)

849.89 hits per line

Source Files on job aa01a95a888d54b7d15112badaebaac6f623daf9.9
  • Tree
  • List 15
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 0
  • aa01a95a on github
  • Prev Job for on main (#01d371a91aa6b74edf3333685ee67d0de8accb77.1)
  • Next Job for on main (#8298e592f9c214d3c95cd343ac5778eb9dae3ff2.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc