-
-
Notifications
You must be signed in to change notification settings - Fork 638
Pin Node.js to 22.11.0 to avoid V8 crash bug #2095
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Pin Node.js version to 22.11.0 (LTS) in CI workflows to avoid V8 bug that causes crashes during yalc publish and other operations. Reference: nodejs/node#56010 Also standardize Playwright workflow to use 'yarn run' instead of bare 'yarn' commands for consistency with other workflows. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
WalkthroughPinned Node.js version to a specific LTS patch in the lint workflow and standardized script invocations in the Playwright workflow to use explicit Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes
Possibly related PRs
Suggested labels
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
.github/workflows/lint-js-and-ruby.yml (1)
98-100: Consider tracking when this pin can be removed.This is a temporary fix for a known bug. To avoid the pin being forgotten, consider opening a tracking issue to revisit and remove this version constraint once the upstream Node.js issue (nodejs/node#56010) is resolved and a fix is available.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
.github/workflows/lint-js-and-ruby.yml(1 hunks).github/workflows/playwright.yml(1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: alexeyr-ci
Repo: shakacode/react_on_rails PR: 1687
File: spec/dummy/package.json:0-0
Timestamp: 2025-01-23T18:20:45.824Z
Learning: When adding or updating dependencies in spec/dummy/package.json, maintain version consistency with other package.json files in the codebase to avoid potential version conflicts.
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (8)
- GitHub Check: dummy-app-integration-tests (3.4, 22, latest)
- GitHub Check: rspec-package-tests (3.4, latest)
- GitHub Check: examples (3.4, latest)
- GitHub Check: build
- GitHub Check: pro-lint-js-and-ruby
- GitHub Check: build-dummy-app-webpack-test-bundles
- GitHub Check: build-dummy-app-webpack-test-bundles
- GitHub Check: claude-review
🔇 Additional comments (3)
.github/workflows/playwright.yml (2)
81-81: Script invocation standardization looks good.Using explicit
yarn runform aligns with standardized script invocation across workflows. Both forms are equivalent, so this is a safe style improvement.Also applies to: 85-85
54-54: Heads up: Node version differs between workflows.This workflow pins Node to
20whilelint-js-and-ruby.ymlpins to22.11.0to avoid a V8 bug. If intentional (multi-version testing), all good. If inadvertent, consider whetherplaywright.ymlshould also pin to a known-good version.Also applies to: 54-54
.github/workflows/lint-js-and-ruby.yml (1)
98-100: Node.js version pin is well-motivated and documented.Pinning to
22.11.0to avoid the V8 bug is appropriate, and the comment provides clear rationale with a reference to the upstream issue. This is good practice for addressing known runtime issues in CI.
Summary
Pins Node.js version to 22.11.0 (LTS) in CI workflows to avoid a V8 bug that causes crashes during Will not publish package with
private: trueuse --private flag to force publishing. and other operations.Changes
info Commands available from binary scripts: acorn, attw, baseline-browser-mapping, browserslist, create-jest, cssesc, ejs, escodegen, esgenerate, eslint, eslint-config-prettier, esparse, esvalidate, github-codeowners, he, highlight, honeybadger-checkins-sync, import-local-fixture, jake, jest, jiti, js-yaml, jsesc, json5, knip, knip-bun, loose-envify, lz-string, marked, mime, mkdirp, nanoid, nodetouch, nps, parser, pino, pino-pretty, prettier, ps-tree, publint, regjsparser, resolve, semver, stylelint, ts-jest, tsc, tsserver, update-browserslist-db, uuid, which
info Project commands
yarn workspace react-on-rails run build && yarn workspace react-on-rails-pro run build
yarn workspaces run build-watch
yarn run lint && yarn workspaces run check
yarn workspaces run clean
nps eslint
stylelint "spec/dummy/app/assets/stylesheets//*.scss" "spec/dummy/client//*.scss"
test -f .lefthook.yml && test -d .git && command -v bundle >/dev/null 2>&1 && bundle exec lefthook install || true
yarn workspaces run publish
nps
yarn workspaces run test
yarn workspaces run type-check
yarn workspaces run yalc
yarn workspaces run yalc:publish
Done in 0.03s. instead of bare yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
$ test -f .lefthook.yml && test -d .git && command -v bundle >/dev/null 2>&1 && bundle exec lefthook install || true
Done in 2.45s. commands for consistency
References
sqlite3ext.hnodejs/node#56010Testing
Context
This is part of preparing for the monorepo node-renderer package. This small fix can merge independently.
🤖 Generated with Claude Code
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.