Repository navigation
ci: Move CI off end-of-life Node versions to Node 22 - #6927
Merged
Merged
Conversation
Node 18 (EOL April 2025) and Node 20 (EOL April 2026) are replaced with Node 22 across all workflows and the root Volta pin. The repo's own react-native 0.88 dev dependency requires Node ^22.13.0, so the Node 18 jobs were running an unsupported combination. The Volta yarn pin is aligned with packageManager (yarn 4.17.0). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Semver Impact of This PR⚪ None (no version bump detected) 📋 Changelog PreviewThis is how your changes will appear in the changelog.
🤖 This preview updates automatically when you update the PR. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📢 Type of change
📜 Description
Moves every CI job and the root Volta pin off end-of-life Node versions, onto Node 22 (supported until April 2027).
buildandtest.yml(9 jobs, including the tarball check)codegen.yml,native-tests.ymlrelease.yml,sample-application-expo.yml(3 jobs),ios-crash-screenshot-no-freeze.ymle2e-v2.yml, RN 0.71 build (was0.71 ? 20 : 22)package.jsonVoltaAfter this, every
node-versionin.github/workflows/is 22. The Volta Node version matches thesamples/react-nativepin, and the Volta yarn version matchespackageManager.💡 Motivation and Context
react-native@0.88.0dev dependency declaresengines.node: ^22.13.0 || ^24.3.0 || >=26. The Node 18 jobs only worked because yarn doesn't enforceengines.💚 How did you test it?
This changes CI only, so CI on this PR is the test. Needs the
ready-to-mergelabel for E2E, native and sample jobs. In particular, watch the RN 0.71 E2E build on Node 22.📝 Checklist
sendDefaultPIIis enabled.🔮 Next steps