Skip to content

Commit

Permalink
Use Node v14 in Windows CircleCI jobs (facebook#31656)
Browse files Browse the repository at this point in the history
Summary:
Pull Request resolved: facebook#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 facebook#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 Setito committed Jul 17, 2021
1 parent 1557781 commit 498101c
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 498101c

Please sign in to comment.