Skip to content

Commit

Permalink
Use Node v14 in Windows CircleCI jobs (#31656)
Browse files Browse the repository at this point in the history
Summary:
Pull Request resolved: #31656

CircleCI's Windows executor currently ships with a pre-LTS release of Node v12, breaking our Windows jobs ([example](https://app.circleci.com/pipelines/github/facebook/react-native/9280/workflows/21e6e59c-d853-47a1-af62-1368c8ce10ce/jobs/203983)) following #30637, ultimately due to jestjs/jest#10685 dropping support for non-LTS versions in the Node v12 release line.

Luckily, the Windows executor [does ship with nvm](circleci/circleci-docs#3733) so we can use that to install a desired Node version. Rather than just pinning a later v12 release that is LTS, we pin a v14 release that is currently the most recent LTS version.

NOTE: The nvm on CircleCI is https://github.com/coreybutler/nvm-windows, not https://github.com/nvm-sh/nvm, and the two aren't interchangeable. [nvm-windows has no functionality to install the latest version of a release line](coreybutler/nvm-windows#156) so we're forced to specify an exact version, which will need to be bumped manually in the future. This isn't great, but IMO it's no worse than the current situation, where we use whichever stale version of Node happens to be bundled with the Windows CircleCI executor.

Changelog:
[Internal]

Reviewed By: GijsWeterings

Differential Revision: D28896581

fbshipit-source-id: a412376cf36054de49efa49866fe60dd964567c5
  • Loading branch information
motiz88 authored and facebook-github-bot committed Jun 4, 2021
1 parent b637b21 commit d676cbe
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions .circleci/config.yml
Expand Up @@ -27,6 +27,7 @@ executors:
nodelts:
<<: *defaults
docker:
# Note: Version set separately for Windows builds, see below.
- image: circleci/node:14
nodeprevlts:
<<: *defaults
Expand Down Expand Up @@ -624,6 +625,13 @@ jobs:
steps:
- checkout

- run:
name: Install Node
# Note: Version set separately for non-Windows builds, see above.
command: |
nvm install 14.17.0
nvm use 14.17.0
# Setup Dependencies
- run:
name: Install Yarn
Expand Down

0 comments on commit d676cbe

Please sign in to comment.