Skip to content

Commit 42f4746

Browse files
committed
Cache CI Node Modules
1 parent d8003a8 commit 42f4746

File tree

1 file changed

+33
-28
lines changed

1 file changed

+33
-28
lines changed

.circleci/config.yml

Lines changed: 33 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,26 @@ orbs:
55
advanced-checkout: vsco/[email protected]
66

77
commands:
8+
install_node_modules:
9+
parameters:
10+
working_directory:
11+
type: string
12+
default: .
13+
steps:
14+
- restore_cache:
15+
name: Restore Yarn Cache
16+
keys:
17+
- v0.2-node-modules-{{ checksum "<< parameters.working_directory >>/yarn.lock" }}
18+
- run:
19+
name: Install Node Modules
20+
working_directory: << parameters.working_directory >>
21+
command: yarn install --frozen-lockfile --cache-folder /tmp/.cache/yarn
22+
- save_cache:
23+
name: Save Yarn Cache
24+
key: v0.2-node-modules-{{ checksum "<< parameters.working_directory >>/yarn.lock" }}
25+
paths:
26+
- /tmp/.cache/yarn
27+
828
install_pods:
929
parameters:
1030
working_directory:
@@ -37,9 +57,7 @@ jobs:
3757
- image: cimg/node:16.17.1
3858
steps:
3959
- advanced-checkout/shallow-checkout
40-
- run:
41-
name: Install Node Packages
42-
command: yarn
60+
- install_node_modules
4361
- run:
4462
name: Check Format
4563
command: yarn format
@@ -52,9 +70,7 @@ jobs:
5270
- image: cimg/node:16.17.1
5371
steps:
5472
- advanced-checkout/shallow-checkout
55-
- run:
56-
name: Install Node Packages
57-
command: yarn
73+
- install_node_modules
5874
- run:
5975
name: Run Tests
6076
command: yarn test
@@ -63,17 +79,15 @@ jobs:
6379
executor:
6480
name: android/android-machine
6581
tag: '2022.03.1'
82+
working_directory: ~/project/example
6683
steps:
6784
- advanced-checkout/shallow-checkout
6885
- run:
6986
name: Install Yarn
7087
command: npm install -g yarn
71-
- run:
72-
name: Install Node Packages
73-
working_directory: example
74-
command: yarn
88+
- install_node_modules
7589
- android/run-tests:
76-
working-directory: ./example/android
90+
working-directory: android
7791
test-command: ./gradlew test -PinstabugUploadEnable=false
7892

7993
validate_shell_files:
@@ -96,8 +110,9 @@ jobs:
96110
xcode: 13.4.1
97111
steps:
98112
- advanced-checkout/shallow-checkout
99-
- run: yarn
100-
- run: cd example && yarn
113+
- install_node_modules
114+
- install_node_modules:
115+
working_directory: example
101116
- install_pods:
102117
working_directory: example/ios
103118
- run: git --no-pager diff
@@ -111,9 +126,7 @@ jobs:
111126
INSTABUG_SOURCEMAPS_UPLOAD_DISABLE: true
112127
steps:
113128
- advanced-checkout/shallow-checkout
114-
- run:
115-
name: Install node_modules
116-
command: yarn
129+
- install_node_modules
117130
- install_pods:
118131
working_directory: ios
119132
- run:
@@ -153,13 +166,9 @@ jobs:
153166
- run:
154167
name: Install Detox Utils
155168
command: brew tap wix/brew && brew install applesimutils
156-
- run:
157-
name: Install Node Packages
158-
command: yarn
159-
- run:
160-
name: Install Example's Node Packages
169+
- install_node_modules
170+
- install_node_modules:
161171
working_directory: example
162-
command: yarn
163172
- install_pods:
164173
working_directory: example/ios
165174
- run:
@@ -184,13 +193,9 @@ jobs:
184193
- run:
185194
name: Install Detox CLI
186195
command: npm install -g detox-cli
187-
- run:
188-
name: Install Node Packages
189-
command: yarn
190-
- run:
191-
name: Install Example's Node Packages
196+
- install_node_modules
197+
- install_node_modules:
192198
working_directory: example
193-
command: yarn
194199
- android/create-avd:
195200
avd-name: Nexus_6P_API_27
196201
install: true

0 commit comments

Comments
 (0)