YPE-2486: harden and document the release procedure#268
Conversation
|
| - name: Setup Node.js | ||
| uses: actions/setup-node@v6 | ||
| with: | ||
| node-version: 20 | ||
| cache: 'pnpm' |
There was a problem hiding this comment.
This workflow installs @commitlint/cli@21.1.0, whose locked package metadata requires Node >=22.12.0, but the job runs on Node 20. When a pull request runs this new check, dependency install or pnpm exec commitlint can fail before any commit message is linted, blocking every PR. The release workflow already uses Node 24, so this check should use a compatible Node version too.
Prompt To Fix With AI
This is a comment left during a code review.
Path: .github/workflows/commitlint.yml
Line: 21-25
Comment:
**Use compatible Node**
This workflow installs `@commitlint/cli@21.1.0`, whose locked package metadata requires Node `>=22.12.0`, but the job runs on Node 20. When a pull request runs this new check, dependency install or `pnpm exec commitlint` can fail before any commit message is linted, blocking every PR. The release workflow already uses Node 24, so this check should use a compatible Node version too.
How can I resolve this? If you propose a fix, please make it concise.| "@commitlint/cli": "^21.1.0", | ||
| "@commitlint/config-conventional": "^21.1.0", |
There was a problem hiding this comment.
The repo still advertises Node >=20.0.0, but the new Husky commit-msg hook runs pnpm exec commitlint, and the locked @commitlint/*@21.1.0 packages require Node >=22.12.0. A contributor using an allowed Node 20 runtime can hit a failing commit hook on every commit. Either the engine range should be raised with the CI runtime, or these commitlint dependencies should be pinned to a Node-20-compatible major.
Artifacts
Repro: Node 20 commitlint hook reproduction harness
- Contains supporting evidence from the run (text/x-shellscript; charset=utf-8).
Repro: generated commit message file used by commitlint
- Contains supporting evidence from the run (text/plain; charset=utf-8).
Repro: Node 20 install and Husky-equivalent commitlint command output
- Keeps the command output available without making the summary code-heavy.
Repro: Node 20 engine-strict install failure showing @commitlint requires Node >=22.12.0
- Keeps the command output available without making the summary code-heavy.
Ran code and verified through T-Rex
Prompt To Fix With AI
This is a comment left during a code review.
Path: package.json
Line: 39-40
Comment:
**Align local Node support**
The repo still advertises Node `>=20.0.0`, but the new Husky `commit-msg` hook runs `pnpm exec commitlint`, and the locked `@commitlint/*@21.1.0` packages require Node `>=22.12.0`. A contributor using an allowed Node 20 runtime can hit a failing commit hook on every commit. Either the engine range should be raised with the CI runtime, or these commitlint dependencies should be pinned to a Node-20-compatible major.
How can I resolve this? If you propose a fix, please make it concise.
Ports the release-hardening work from YPE-2486 to the React SDK.
What's here
origin/maintip, huskycommit-msghook, and config (allows theYPE-####prefix, ignores the release commit). Ported from the Kotlin SDK.Greptile Summary
This PR adds release-hardening documentation and commit message linting. The main changes are:
commit-msghook.Confidence Score: 4/5
The release documentation is low risk, but the new commit message linting path needs Node runtime alignment before the check is safe to rely on.
The changed files are focused and the main behavior change is isolated to commitlint CI and Husky setup. The remaining concern is a concrete toolchain compatibility mismatch that can block contributors or checks using the advertised runtime.
.github/workflows/commitlint.yml and package.json need the Node version support and commitlint dependency requirements brought into agreement.
What T-Rex did
Prompt To Fix All With AI
Reviews (1): Last reviewed commit: "YPE-2486: chore: add release runbook, ha..." | Re-trigger Greptile