@@ -41,67 +41,76 @@ default config for android apk builds: &android_defaults
41
41
# CACHE CONFIG
42
42
# ==============================
43
43
44
- # brew
45
- save brew cache : &cache_save_brew
46
- name : Saving Brew cache
47
- paths :
44
+ cache keys :
45
+ brew ios : &key_brew_ios cache-brew-ios-v1-{{ arch }}
46
+ brew android : &key_brew_android cache-brew-android-v1-{{ arch }}
47
+ yarn : &key_yarn cache-yarn-{{ checksum "package.json" }}-{{ arch }}
48
+ gradle : &key_gradle cache-gradle-{{ checksum "example/android/gradle/wrapper/gradle-wrapper.properties" }}-{{ checksum "example/android/app/build.gradle" }}-{{ arch }}
49
+ pods : &key_pods cache-pods-{{ checksum "example/ios/Podfile.lock" }}
50
+
51
+ cache :
52
+ # brew
53
+ save brew cache for ios : &cache_save_brew_ios
54
+ name : Saving Brew cache
55
+ paths :
56
+ - /usr/local/Homebrew
57
+ - ~/Library/Caches/Homebrew
58
+ key : *key_brew_ios
59
+
60
+ restore brew cache for ios : &cache_restore_brew_ios
61
+ name : Restoring Brew cache
62
+ keys :
63
+ - *key_brew_ios
64
+
65
+ save brew cache for android : &cache_save_brew_android
66
+ name : Saving Brew cache for android
67
+ paths :
48
68
- /usr/local/Homebrew
49
69
- ~/Library/Caches/Homebrew
50
- key : legacy-brew-cache-node12-{{ arch }}
51
-
52
- restore brew cache : &cache_restore_brew
53
- name : Restoring Brew cache
54
- keys :
55
- - legacy-brew-cache-node12-{{ arch }}
56
-
57
- save brew cache for android : &cache_save_brew_android
58
- name : Saving Brew cache for android
59
- paths :
60
- - /usr/local/Homebrew
61
- - ~/Library/Caches/Homebrew
62
- key : legacy-brew-cache-node12-{{ arch }}-android-v1
63
-
64
- restore brew cache for android : &cache_restore_brew_android
65
- name : Restoring Brew cache for android
66
- keys :
67
- - legacy-brew-cache-node12-{{ arch }}-android-v1
68
-
69
- # yarn
70
- save yarn cache : &cache_save_yarn
71
- name : Saving Yarn cache
72
- paths :
73
- - ~/.cache/yarn
74
- - ~/Library/Detox
75
- key : legacy-yarn-cache-{{ checksum "package.json" }}-{{ arch }}
76
-
77
- restore yarn cache : &cache_restore_yarn
78
- name : Restoring Yarn cache
79
- keys :
80
- - legacy-yarn-cache-{{ checksum "package.json" }}-{{ arch }}
81
-
82
- # gradle
83
- save gradle wrapper cache : &cache_save_gradle_wrapper
84
- name : Saving Gradle Wrapper cache
85
- paths :
86
- - ~/.gradle/wrapper
87
- key : gradle-wrapper-legacy-{{ checksum "example/android/gradle/wrapper/gradle-wrapper.properties" }}
88
-
89
- save gradle build cache : &cache_save_gradle_build
90
- name : Saving Gradle app/build cache
91
- paths :
92
- - ~/.gradle/caches
93
- key : app-build-gradle-legacy-{{ checksum "example/android/app/build.gradle" }}
94
-
95
- restore gradle wrapper cache : &cache_restore_gradle_wrapper
96
- name : Restoring Gradle Wrapper cache
97
- keys :
98
- - gradle-wrapper-legacy-{{ checksum "example/android/gradle/wrapper/gradle-wrapper.properties" }}
99
-
100
- restore gradle build cache : &cache_restore_gradle_build
101
- name : Restoring Gradle app/build cache
102
- keys :
103
- - app-build-gradle-legacy-{{ checksum "example/android/app/build.gradle" }}
104
-
70
+ key : *key_brew_android
71
+
72
+ restore brew cache for android : &cache_restore_brew_android
73
+ name : Restoring Brew cache for android
74
+ keys :
75
+ - *key_brew_android
76
+
77
+ # yarn
78
+ save yarn cache : &cache_save_yarn
79
+ name : Saving Yarn cache
80
+ paths :
81
+ - ~/.cache/yarn
82
+ - ~/Library/Detox
83
+ key : *key_yarn
84
+
85
+ restore yarn cache : &cache_restore_yarn
86
+ name : Restoring Yarn cache
87
+ keys :
88
+ - *key_yarn
89
+
90
+ # gradle
91
+ save gradle cache : &cache_save_gradle
92
+ name : Saving Gradle cache
93
+ key : *key_gradle
94
+ paths :
95
+ - ~/.gradle/wrapper
96
+ - ~/.gradle/caches
97
+
98
+ restore gradle cache : &cache_restore_gradle
99
+ name : Restoring Gradle cache
100
+ keys :
101
+ - *key_gradle
102
+
103
+ # cocoapods
104
+ save pods cache : &cache_save_pods
105
+ name : Saving Pods
106
+ key : *key_pods
107
+ paths :
108
+ - example/ios/Pods
109
+
110
+ restore pods cache : &cache_restore_pods
111
+ name : Restoring Pods
112
+ keys :
113
+ - *key_pods
105
114
106
115
# ==============================
107
116
# JOBS
@@ -141,23 +150,25 @@ jobs:
141
150
<< : *macos_defaults
142
151
steps :
143
152
- *addWorkspace
144
- - restore-cache : *cache_restore_brew
153
+ - restore-cache : *cache_restore_brew_ios
145
154
- run :
146
155
name : Configure macOS Environment
147
156
command : |
148
157
brew bundle --file=.circleci/Brewfile.ios --no-lock
149
158
touch .watchmanconfig
150
159
node -v
151
- - save-cache : *cache_save_brew
160
+ - save-cache : *cache_save_brew_ios
152
161
- restore-cache : *cache_restore_yarn
153
162
- run :
154
163
name : Installing Yarn dependencies
155
164
command : yarn --pure-lockfile --non-interactive --cache-folder ~/.cache/yarn
156
165
- save-cache : *cache_save_yarn
166
+ - restore-cache : *cache_restore_pods
157
167
- run :
158
168
name : Install pod dependencies
159
169
working_directory : example/ios
160
170
command : pod install
171
+ - save-cache : *cache_save_pods
161
172
- run :
162
173
name : Build iOS app
163
174
command : yarn build:e2e:ios
@@ -174,18 +185,12 @@ jobs:
174
185
name : Installing Yarn dependencies
175
186
command : yarn --pure-lockfile --non-interactive --cache-folder ~/.cache/yarn
176
187
- save-cache : *cache_save_yarn
177
-
178
- # Gradle
179
- - restore-cache : *cache_restore_gradle_wrapper
180
- - restore-cache : *cache_restore_gradle_build
188
+ - restore-cache : *cache_restore_gradle
181
189
- run :
182
190
name : Downloading Gradle dependencies
183
191
working_directory : example/android
184
192
command : ./gradlew --max-workers 2 fetchDependencies
185
- - save-cache : *cache_save_gradle_wrapper
186
- - save-cache : *cache_save_gradle_build
187
-
188
- # Build and test
193
+ - save-cache : *cache_save_gradle
189
194
- run :
190
195
name : Bundle
191
196
command : mkdir example/android/app/src/main/assets && npx react-native bundle --platform android --dev false --entry-file example/index.js --bundle-output example/android/app/src/main/assets/index.android.bundle --assets-dest example/android/app/src/main/res/
@@ -212,12 +217,7 @@ jobs:
212
217
echo 'export QEMU_AUDIO_DRV=none' >> $BASH_ENV
213
218
echo 'export JAVA_HOME=$(/usr/libexec/java_home)' >> $BASH_ENV
214
219
source $BASH_ENV
215
-
216
- # Android tools
217
220
- restore-cache : *cache_restore_brew_android
218
- - run :
219
- name : Create repos file
220
- command : mkdir -p ~/.android && touch ~/.android/repositories.cfg
221
221
- run :
222
222
name : Install Android SDK tools
223
223
command : |
0 commit comments