-
-
Notifications
You must be signed in to change notification settings - Fork 638
Fix Node.js 22 V8 crash in GitHub Actions workflows #1922
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
Disable yarn cache for Node.js 22 in all workflows to work around V8 crash bug in version 22.21.0 that occurs when running `yarn cache dir`. The crash manifests as "Fatal error in , line 0 # unreachable code" during the setup-node@v4 cache detection step. This is a known issue tracked at nodejs/node#56010 Modified workflows: - lint-js-and-ruby.yml - package-js-tests.yml - pro-integration-tests.yml (3 occurrences) - pro-lint.yml - pro-package-tests.yml (2 occurrences) The main.yml workflow was already patched in a previous commit. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
|
Warning Rate limit exceeded@justin808 has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 12 minutes and 46 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (5)
✨ 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 |
Code Review - PR #1922: Fix Node.js 22 V8 crash in GitHub Actions workflowsSummaryThis PR addresses a critical CI infrastructure issue by disabling yarn cache for Node.js 22 across multiple workflow files to work around a V8 crash bug in Node.js 22.21.0. ✅ Strengths
🔍 Observations
🎯 Code Quality Assessment
💡 Suggestions
✅ VerdictLGTM - This PR correctly addresses the V8 crash issue with a safe, well-documented workaround. The implementation is consistent, comprehensive, and follows established patterns in the codebase. The minor performance impact from disabled caching is acceptable given the alternative is CI failures. Once the upstream Node.js bug is resolved, the cache can be re-enabled. Recommendation: ✅ Approve and merge after CI passes 🤖 Review generated with Claude Code |
Added TODO comments in all affected workflow files to ensure we remember to re-enable yarn cache once the Node.js 22 V8 bug is fixed. This provides a clear path for future cleanup when the upstream bug at nodejs/node#56010 is resolved. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Code ReviewSummaryThis PR successfully addresses the Node.js 22.21.0 V8 crash issue by disabling yarn cache for Node.js 22 in GitHub Actions workflows. The changes are well-documented and consistent with the existing pattern in ✅ Strengths
🔍 Code Quality ObservationsInconsistency in Approach: There are two different patterns used:
Recommendation: Consider standardizing on one approach for consistency:
Currently, all modified workflows appear to use Node 22 exclusively except 🛡️ Security & PerformancePerformance Impact:
Security: ✅ No concerns
📋 Test CoverageThe PR description mentions:
Recommendation: After merge, monitor the first few CI runs to confirm:
🐛 Potential IssuesNone identified. The implementation is sound. 💡 Suggestions for Improvement
✅ VerdictLGTM - Approve with minor suggestion This is a well-executed workaround for a known upstream bug. The changes are:
The only suggestion is to consider updating Great work! 🚀 |
Code Review - PR #1922SummaryThis PR addresses a critical V8 crash bug in Node.js 22.21.0 that affects GitHub Actions workflows. The fix disables yarn caching for Node.js 22 across multiple workflow files. ✅ Strengths
🎯 Code QualityArchitecture: ✅ Sound approach
Consistency: ✅ Excellent
Maintainability: ✅ Good
🔍 Detailed Analysispackage-js-tests.yml (lines 63-66)cache: ${{ matrix.node-version \!= '22' && 'yarn' || '' }}This is particularly elegant - it conditionally disables cache only for Node 22 while preserving performance for other Node versions in the test matrix. This is the preferred pattern when dealing with matrix strategies. Other Workflow FilesThe remaining 4 files use hardcoded Node 22, so they use the simpler 🐛 Potential IssuesNone identified. The implementation is solid. ⚡ Performance ConsiderationsImpact: Moderate but acceptable
Recommendation: Monitor the upstream Node.js issue and re-enable caching as soon as a fix is released in Node.js 22.x. 🔒 Security ConcernsNone. This change only affects CI caching behavior and does not introduce security risks. 🧪 Test CoverageStatus: ✅ Adequate for this change
📋 Suggestions
✅ Verification Checklist
🎬 RecommendationAPPROVE - This PR is ready to merge. The implementation is solid, well-documented, and follows established patterns. The workaround is appropriate for the severity of the issue (complete CI failures). The only thing remaining is to verify that CI runs successfully after merge, which will validate the fix in practice. Review conducted following repository conventions from CLAUDE.md |
Summary
Problem
Node.js 22.21.0 has a V8 bug that causes crashes when
yarn cache diris executed during the setup-node@v4 cache detection step. This was causing CI failures in multiple workflows.Reference: nodejs/node#56010
Solution
Disabled yarn cache for Node.js 22 by setting
cache: ''in the setup-node configuration, similar to the fix already applied in main.yml.Modified Workflows
Test Plan
🤖 Generated with Claude Code
This change is