Repository navigation
Fix CodeQL workflow alerts: pin third-party actions, scope CI token - #94
Conversation
| - run: pnpm build | ||
| node-version-file: .nvmrc | ||
| cache: true | ||
| require-lockfile: true |
There was a problem hiding this comment.
pnpm/setup ignores Node version file
Medium Severity
pnpm/setup does not accept node-version-file, so the new .nvmrc is ignored and CI, release, and schema jobs no longer pin Node 24. The action only honors runtime or devEngines.runtime, neither of which is set, so these workflows stay on the runner default instead of the >=24 engines pin.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit 501d0dd. Configure here.
There was a problem hiding this comment.
that's wrong: https://github.com/pnpm/setup#inputs
501d0dd to
7998b37
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
There are 2 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 7998b37. Configure here.
| - run: pnpm build | ||
| node-version-file: .nvmrc | ||
| cache: true | ||
| require-lockfile: true |
There was a problem hiding this comment.
Lockfile input is not valid
Low Severity
require-lockfile is not an input of pnpm/setup, so the runner ignores it. The previous explicit pnpm install --frozen-lockfile step was removed, and this flag does not ask the action to enforce a lockfile.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit 7998b37. Configure here.


Fixes the 7 open CodeQL alerts on
main. Note that Dependabot updates SHA pins and keeps the version comment in sync.pnpm/action-setup+actions/setup-node+pnpm installfor onepnpm/setupstep, pinned to a commit SHA.changesets/actionto its commit SHA.actions/setup-node, only forregistry-url.changesets/actionv2 doesn't set up npm auth, so publishing still needs the.npmrcit writes forNODE_AUTH_TOKEN.permissions: contents: readon CI.actions/*andgithub/*stay on tags because CodeQL doesn't flag GitHub-owned actions.Note
Low Risk
Workflow and Node version sourcing changes only; no application or publish logic changes beyond equivalent install/setup behavior.
Overview
Addresses CodeQL supply-chain alerts by pinning third-party actions (
pnpm/setup,changesets/action) to commit SHAs while leavingactions/*andgithub/*on version tags.CI, release, and schema-update workflows now use a single
pnpm/setupstep (replacingpnpm/action-setup,actions/setup-nodefor install, and a separatepnpm install) withnode-version-file: .nvmrc,require-lockfile: true, and pnpm caching. A new.nvmrcpins Node 24. The release job still runsactions/setup-nodeonly to setregistry-urlfor npm publish auth viaNODE_AUTH_TOKEN.The CI workflow adds
permissions: contents: read. All touched workflows give named steps and clearer spacing; CodeQL gets step names only (no action pin changes there).Reviewed by Cursor Bugbot for commit 7998b37. Bugbot is set up for automated code reviews on this repo. Configure here.