Repository navigation
Conversation
Publish on release:published so the npm trusted publisher keyed on release.yml can be used, drop NODE_AUTH_TOKEN in favour of id-token: write (OIDC), run on Node 24 with npm@latest (trusted publishing needs npm >= 11.5.1), check out the release tag without persisted credentials, keep the explicit build-ts step. GitHub pre-releases go to the beta dist-tag. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The nonexistent actions/checkout@v7 and actions/setup-node@v7 references prevent the workflow from running.
Review effort: Balanced
Findings: None
What changed in this PR
Migrates npm releases from token authentication to OIDC trusted publishing.
Changes:
- Publishes on release publication using Node 24 and OIDC.
- Routes prereleases to
betaand stable releases tolatest. - Disables persisted checkout credentials.
| File | Description |
|---|---|
.github/workflows/release.yml |
Updates the npm publishing workflow. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Refuse to publish when the release tag is not "v" + the package.json version, so a tag cut on the wrong commit cannot publish an older version under a newer tag. The tag reaches the check through an env variable, never through a shell line. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e.yml github-release.yml created the GitHub release with GITHUB_TOKEN on every version bump pushed to master. Events raised by that token do not start other workflows, so with publishing on release: published a bot-created release would never run release.yml and npm would silently miss the version. Releases are created by a person instead (as since v1.1.3), and release.yml now attaches the npm pack tarball after a successful publish. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Regenerated package-lock.json (clean npm install); no package.json change. qs 6.15.3 -> 6.16.0 (via body-parser) Fixes SNYK-JS-QS-19432017 and SNYK-JS-QS-19432019 Snyk: 2 medium findings -> 0 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Lock file regenerated (fixed 2 on its own). Direct upgrades: body-parser ^2.3.0 -> ^2.4.0 (library floor raise; installs body-parser 2.4.0 and qs 6.16.1) Overrides: none .talismanrc: package-lock.json checksum entry replaced by a filecontent/base64content ignore so lock regens stop tripping Talisman. Vuln count: snyk 2 -> 0, npm audit 1 -> 0. Build verified passing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
🔒 Security Scan Results
⏱️ SLA Breach Summary
✅ BUILD PASSED - All security checks passed |
1 similar comment
🔒 Security Scan Results
⏱️ SLA Breach Summary
✅ BUILD PASSED - All security checks passed |
The check-version-bump workflow requires package.json to be above the latest tag once a PR changes it; this PR's Snyk lock fix does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
🔒 Security Scan Results
⏱️ SLA Breach Summary
✅ BUILD PASSED - All security checks passed |

Problem
release.ymlpublishes@contentstack/webhook-listenerto npm with a long-livedNPM_TOKEN.The SE1 publishing policy requires OIDC trusted publishing instead: no token, a
release.ymlworkflow that runs when a release is published, Node 24.Fix
release.ymlis rewritten in place. What changes inside it:release: createdrelease: publishedNPM_TOKENid-token: write, no tokennpm publish --tag latest --access publicnpm publish --access public; pre-releases go to thebetadist-tag, releases tolatestnpm run build-tspersist-credentials: falsecheckout@v4,setup-node@v4@v7v+ thepackage.jsonversiongithub-release.ymlwhen it created the releaseupload-release-assetjob inrelease.yml, after a successful publish (npm pack)github-release.ymlGITHUB_TOKENon every version bump pushed tomasterrelease.yml; releases are created by a personVerification
Node 22 and Node 24: install, build and
npm packall pass.