* Lower minimum Node.js version to 20.19.4 (#52678) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/52678 From partner feedback, there's still appetite to support Node 20.x for the next <1y of life. Lower min version to `20.19.4` (Jul 2025) and widen test matrix in CI. Changelog: [General][Breaking] - Our new minimum Node version is Node.js 20 (Overrides #51840) Reviewed By: cortinico Differential Revision: D78494491 fbshipit-source-id: c8d9dc6250cb11f8a12ca7e761b65f4a8dae9265 * Bump Metro to ^0.83.1, lower minimum Node.js version to 20.19 Summary: Metro release notes: https://github.com/facebook/metro/releases/tag/v0.83.1 The only public-facing change is a lowering of the minimum Node.js version from 22.14 to 20.19. This will need picking to RN `0.81-stable` Changelog: [General][Changed] Metro to ^0.83.1 Reviewed By: huntie Differential Revision: D78895160 fbshipit-source-id: b9ccffe972249b73897f51c14873861e57a97161 * Do not setup-node twice in test_js (#52737) Summary: I've noticed that test_js (20) and test_js (24) are actually running on Node 22. That's because the `yarn-install` action is invoking setup-node again with the default value (22). This changes it. Also I'm cleaning up the workflows so that every `yarn-install` invocation is happening just after the `setup-node` invocation. ## Changelog: [INTERNAL] - Pull Request resolved: https://github.com/facebook/react-native/pull/52737 Test Plan: CI which will most likely be red for test_js (20) so will need a follow-up Reviewed By: cipolleschi Differential Revision: D78664671 Pulled By: cortinico fbshipit-source-id: c73390930d1511d1bf0f2d4ea92e83f50b10247f --------- Co-authored-by: Alex Hunt <huntie@meta.com> Co-authored-by: Rob Hogan <robhogan@meta.com> Co-authored-by: Nicola Corti <ncor@meta.com>
Danger
Danger is a JavaScript runtime which helps you provide continuous feedback inside GitHub. It's used inside Github Actions to analyze the contents of a GitHub pull request.
If you want to test changes to Danger, I'd recommend checking out an existing PR and then running the danger pr command.
You'll need a GitHub Public Access Token (PAT). It will look like github_pat_<REDACTED>.
So, for example:
cd private/react-native-bots && yarn
DANGER_GITHUB_API_TOKEN=ghp_<REDACTED> yarn danger pr https://github.com/facebook/react-native/pull/1234
Code Analysis Bot
The code analysis bot provides lint and other results as inline reviews on GitHub. It runs as part of the Circle CI analysis workflow.
If you want to test changes to the Code Analysis Bot, I'd recommend checking out an existing PR and then running the analyze pr command.
You'll need a GitHub token. You can re-use this one: 312d354b5c36f082cfe9 07973d757026bdd9f196 (just remove the space).
So, for example:
GITHUB_TOKEN=[ENV_ABOVE] GITHUB_PR_NUMBER=1234 yarn lint-ci