Skip to content

Commit da8bec9

Browse files
hramosfacebook-github-bot
authored andcommitted
Switch to yarn
Summary: Switch to Yarn in order to more closely match internal Facebook environment. Closes #17193 Differential Revision: D6572337 Pulled By: hramos fbshipit-source-id: 331b1f331937e8ce3b787d48561e2e655d4a1cc9
1 parent a9c684a commit da8bec9

File tree

1 file changed

+63
-51
lines changed

1 file changed

+63
-51
lines changed

.circleci/config.yml

+63-51
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
aliases:
2-
- &restore-node-cache
2+
- &restore-yarn-cache
33
keys:
4-
- v2-dependencies-{{ arch }}-{{ checksum "package.json" }}
4+
- v1-yarn-{{ arch }}-{{ checksum "package.json" }}
55
# Fallback in case checksum fails
6-
- v2-dependencies-{{ arch }}-
7-
8-
- &save-node-cache
6+
- v1-yarn-{{ arch }}-
7+
- &save-yarn-cache
98
paths:
109
- node_modules
11-
key: v2-dependencies-{{ arch }}-{{ checksum "package.json" }}
10+
- ~/.cache/yarn
11+
key: v1-yarn-{{ arch }}-{{ checksum "package.json" }}
1212

1313
- &restore-cache-analysis
1414
keys:
@@ -60,6 +60,16 @@ aliases:
6060
- ~/watchman
6161
key: v1-watchman-{{ arch }}-v4.9.0
6262

63+
- &yarn
64+
|
65+
yarn install --non-interactive --cache-folder ~/.cache/yarn
66+
67+
- &install-yarn
68+
|
69+
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
70+
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
71+
sudo apt-get update && sudo apt-get install yarn
72+
6373
- &install-node-dependencies
6474
|
6575
npm install --no-package-lock --no-spin --no-progress
@@ -77,18 +87,18 @@ aliases:
7787
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
7888
sudo apt-get install -y nodejs
7989

80-
- &run-node-tests
81-
|
82-
npm test -- --maxWorkers=2
83-
90+
- &run-js-tests
91+
|
92+
yarn test --maxWorkers=2
93+
8494
- &run-lint-checks
85-
|
86-
npm run lint
95+
|
96+
yarn lint
8797

8898
- &run-flow-checks
89-
|
90-
npm run flow -- check
91-
99+
|
100+
yarn flow check
101+
92102
- &filter-only-master-stable
93103
branches:
94104
only:
@@ -203,9 +213,9 @@ jobs:
203213
- image: circleci/node:8
204214
steps:
205215
- checkout
206-
- restore-cache: *restore-node-cache
207-
- run: *install-node-dependencies
208-
- save-cache: *save-node-cache
216+
- restore-cache: *restore-yarn-cache
217+
- run: *yarn
218+
- save-cache: *save-yarn-cache
209219
- run: *run-lint-checks
210220
- run: *run-flow-checks
211221

@@ -216,10 +226,10 @@ jobs:
216226
- image: circleci/node:8
217227
steps:
218228
- checkout
219-
- restore-cache: *restore-node-cache
220-
- run: *install-node-dependencies
221-
- save-cache: *save-node-cache
222-
- run: *run-node-tests
229+
- restore-cache: *restore-yarn-cache
230+
- run: *yarn
231+
- save-cache: *save-yarn-cache
232+
- run: *run-js-tests
223233

224234
# Runs JavaScript tests on Node 6
225235
test-js-node-6:
@@ -228,10 +238,10 @@ jobs:
228238
- image: circleci/node:6
229239
steps:
230240
- checkout
231-
- restore-cache: *restore-node-cache
232-
- run: *install-node-dependencies
233-
- save-cache: *save-node-cache
234-
- run: *run-node-tests
241+
- restore-cache: *restore-yarn-cache
242+
- run: *yarn
243+
- save-cache: *save-yarn-cache
244+
- run: *run-js-tests
235245

236246
# Runs unit tests on iOS devices
237247
test-objc-ios:
@@ -243,9 +253,9 @@ jobs:
243253
- xcrun instruments -w "iPhone 5s (10.3.1)" || true
244254
steps:
245255
- checkout
246-
- restore-cache: *restore-node-cache
247-
- run: *install-node-dependencies
248-
- save-cache: *save-node-cache
256+
- restore-cache: *restore-yarn-cache
257+
- run: *yarn
258+
- save-cache: *save-yarn-cache
249259
- run: ./scripts/objc-test-ios.sh
250260

251261
# Runs unit tests on tvOS devices
@@ -258,9 +268,9 @@ jobs:
258268
- xcrun instruments -w "Apple TV 1080p (10.0)" || true
259269
steps:
260270
- checkout
261-
- restore-cache: *restore-node-cache
262-
- run: *install-node-dependencies
263-
- save-cache: *save-node-cache
271+
- restore-cache: *restore-yarn-cache
272+
- run: *yarn
273+
- save-cache: *save-yarn-cache
264274
- run: ./scripts/objc-test-tvos.sh
265275

266276
# Runs end to end tests
@@ -273,9 +283,9 @@ jobs:
273283
- xcrun instruments -w "iPhone 5s (10.3.1)" || true
274284
steps:
275285
- checkout
276-
- restore-cache: *restore-node-cache
277-
- run: *install-node-dependencies
278-
- save-cache: *save-node-cache
286+
- restore-cache: *restore-yarn-cache
287+
- run: *yarn
288+
- save-cache: *save-yarn-cache
279289
- run: node ./scripts/run-ci-e2e-tests.js --ios --js --retries 3;
280290

281291
# Checks podspec
@@ -285,9 +295,9 @@ jobs:
285295
xcode: "9.0"
286296
steps:
287297
- checkout
288-
- restore-cache: *restore-node-cache
289-
- run: *install-node-dependencies
290-
- save-cache: *save-node-cache
298+
- restore-cache: *restore-yarn-cache
299+
- run: *yarn
300+
- save-cache: *save-yarn-cache
291301
- run: ./scripts/process-podspecs.sh
292302

293303
# Publishes new version onto npm
@@ -310,9 +320,10 @@ jobs:
310320
- run: *install-buck
311321
- save-cache: *save-cache-buck
312322
- run: *install-node
313-
- restore-cache: *restore-node-cache
314-
- run: *install-node-dependencies
315-
- save-cache: *save-node-cache
323+
- run: *install-yarn
324+
- restore-cache: *restore-yarn-cache
325+
- run: *yarn
326+
- save-cache: *save-yarn-cache
316327
- run: buck fetch ReactAndroid/src/test/java/com/facebook/react/modules
317328
- run: buck fetch ReactAndroid/src/main/java/com/facebook/react
318329
- run: buck fetch ReactAndroid/src/main/java/com/facebook/react/shell
@@ -372,9 +383,10 @@ jobs:
372383

373384
# The JavaScript Bundle is required for instrumentation tests.
374385
- run: *install-node
375-
- restore-cache: *restore-node-cache
376-
- run: *install-node-dependencies
377-
- save-cache: *save-node-cache
386+
- run: *install-yarn
387+
- restore-cache: *restore-yarn-cache
388+
- run: *yarn
389+
- save-cache: *save-yarn-cache
378390
- run: *build-js-bundle
379391

380392
# Wait for AVD to finish booting before running tests
@@ -398,14 +410,14 @@ jobs:
398410
steps:
399411
- checkout
400412
- restore-cache: *restore-cache-analysis
401-
- run: *install-node-dependencies
413+
- run: *yarn
402414
- run:
403-
name: Install Dependencies
415+
name: Install Additional Dependencies
404416
command: |
405417
if [ -n "$CIRCLE_PULL_REQUEST" ]; then
406-
npm install [email protected]
418+
407419
cd danger
408-
npm install --no-package-lock --no-spin --no-progress
420+
yarn install --non-interactive --cache-folder ~/.cache/yarn
409421
else
410422
echo "Skipping dependency installation."
411423
fi
@@ -414,16 +426,16 @@ jobs:
414426
name: Analyze Pull Request
415427
command: |
416428
if [ -n "$CIRCLE_PULL_REQUEST" ]; then
417-
cd danger && DANGER_GITHUB_API_TOKEN="e622517d9f1136ea8900""07c6373666312cdfaa69" npm run danger
429+
cd danger && DANGER_GITHUB_API_TOKEN="e622517d9f1136ea8900""07c6373666312cdfaa69" yarn danger
418430
else
419431
echo "Skipping pull request analysis."
420432
fi
421433
when: always
422434
- run:
423435
name: Analyze Code
424436
command: |
425-
if [ -n "$CIRCLE_PULL_REQUEST" ]; then
426-
cat <(echo eslint; npm run lint --silent -- --format=json; echo flow; npm run flow --silent -- check --json) | GITHUB_TOKEN="af6ef0d15709bc91d""06a6217a5a826a226fb57b7" CI_USER=$CIRCLE_PROJECT_USERNAME CI_REPO=$CIRCLE_PROJECT_REPONAME PULL_REQUEST_NUMBER=$CIRCLE_PR_NUMBER node bots/code-analysis-bot.js
437+
if [ -n "$CIRCLE_PR_NUMBER" ]; then
438+
cat <(echo eslint; yarn --silent lint --format=json; echo flow; yarn --silent flow check --json) | GITHUB_TOKEN="af6ef0d15709bc91d""06a6217a5a826a226fb57b7" CI_USER=$CIRCLE_PROJECT_USERNAME CI_REPO=$CIRCLE_PROJECT_REPONAME PULL_REQUEST_NUMBER=$CIRCLE_PR_NUMBER node bots/code-analysis-bot.js
427439
else
428440
echo "Skipping code analysis."
429441
fi

0 commit comments

Comments
 (0)