@@ -3,54 +3,6 @@ version: 2.1
3
3
aliases :
4
4
- &xcode-version 12.5.1
5
5
- &node-version '16.12'
6
- - &save-cache-yarn
7
- save_cache :
8
- key : yarn-packages-{{ .Environment.CACHE_VERSION }}-{{ checksum "yarn.lock" }}
9
- paths :
10
- - ~/.cache/yarn
11
- - &restore-cache-yarn
12
- restore_cache :
13
- name : Restore Yarn Package Cache
14
- keys :
15
- - yarn-packages-{{ .Environment.CACHE_VERSION }}-{{ checksum "yarn.lock" }}
16
- - &save-cache-detox-env
17
- save_cache :
18
- key : detox-env-{{ .Environment.CACHE_VERSION }}-{{ arch }}-{{ .Environment.XCODE_VERSION }}-{{ .Environment.CIRCLE_WORKING_DIRECTORY }}
19
- paths :
20
- - /usr/local/Homebrew
21
- - ~/Library/Caches/Homebrew
22
- - &restore-cache-detox-env
23
- restore_cache :
24
- name : Restoring Detox Env Cache
25
- keys :
26
- - detox-env-{{ .Environment.CACHE_VERSION }}-{{ arch }}-{{ .Environment.XCODE_VERSION }}-{{ .Environment.CIRCLE_WORKING_DIRECTORY }}
27
- - &save-cache-detox-app
28
- save_cache :
29
- key : detox-app-{{ .Environment.CACHE_VERSION }}-{{ checksum "yarn.lock"}}
30
- paths :
31
- - node_modules
32
- - ios/Pods
33
- - &restore-cache-detox-app
34
- restore_cache :
35
- name : Restoring Detox App Cache
36
- keys :
37
- - detox-app-{{ .Environment.CACHE_VERSION }}-{{ checksum "yarn.lock"}}
38
- - &save-android-build-cache
39
- save_cache :
40
- paths :
41
- - ~/.gradle/caches
42
- - ~/.gradle/wrapper
43
- - ~/.android/build-cache
44
- key : gradle-build-cache-{{ .Environment.CACHE_VERSION }}-{{ checksum "android/build.gradle" }}-{{ checksum "android/app/build.gradle" }}-{{ checksum "yarn.lock" }}
45
- when : always # Ensures build assets are cached even on failed builds
46
- - &restore-android-build-cache
47
- restore_cache :
48
- name : Restoring Android & Gradle cache
49
- keys :
50
- - gradle-build-cache-{{ .Environment.CACHE_VERSION }}-{{ checksum "android/build.gradle" }}-{{ checksum "android/app/build.gradle" }}-{{ checksum "yarn.lock" }}
51
- - &attach-workspace
52
- attach_workspace :
53
- at : ~/react-native-url-polyfill
54
6
55
7
orbs :
56
8
@@ -80,6 +32,63 @@ executors:
80
32
GRADLE_OPTS : ' -Dorg.gradle.daemon=false -Dorg.gradle.workers.max=2'
81
33
82
34
commands :
35
+ save-cache-yarn :
36
+ steps :
37
+ - save_cache :
38
+ key : yarn-packages-{{ .Environment.CACHE_VERSION }}-{{ checksum "yarn.lock" }}
39
+ paths :
40
+ - ~/.cache/yarn
41
+ restore-cache-yarn :
42
+ steps :
43
+ - restore_cache :
44
+ name : Restore Yarn Package Cache
45
+ keys :
46
+ - yarn-packages-{{ .Environment.CACHE_VERSION }}-{{ checksum "yarn.lock" }}
47
+ save-cache-detox-env :
48
+ steps :
49
+ - save_cache :
50
+ key : detox-env-{{ .Environment.CACHE_VERSION }}-{{ arch }}-{{ .Environment.XCODE_VERSION }}-{{ .Environment.CIRCLE_WORKING_DIRECTORY }}
51
+ paths :
52
+ - /usr/local/Homebrew
53
+ - ~/Library/Caches/Homebrew
54
+ restore-cache-detox-env :
55
+ steps :
56
+ - restore_cache :
57
+ name : Restoring Detox Env Cache
58
+ keys :
59
+ - detox-env-{{ .Environment.CACHE_VERSION }}-{{ arch }}-{{ .Environment.XCODE_VERSION }}-{{ .Environment.CIRCLE_WORKING_DIRECTORY }}
60
+ save-cache-detox-app :
61
+ steps :
62
+ - save_cache :
63
+ key : detox-app-{{ .Environment.CACHE_VERSION }}-{{ checksum "yarn.lock"}}
64
+ paths :
65
+ - node_modules
66
+ - ios/Pods
67
+ restore-cache-detox-app :
68
+ steps :
69
+ - restore_cache :
70
+ name : Restoring Detox App Cache
71
+ keys :
72
+ - detox-app-{{ .Environment.CACHE_VERSION }}-{{ checksum "yarn.lock"}}
73
+ save-android-build-cache :
74
+ steps :
75
+ - save_cache :
76
+ paths :
77
+ - ~/.gradle/caches
78
+ - ~/.gradle/wrapper
79
+ - ~/.android/build-cache
80
+ key : gradle-build-cache-{{ .Environment.CACHE_VERSION }}-{{ checksum "android/build.gradle" }}-{{ checksum "android/app/build.gradle" }}-{{ checksum "yarn.lock" }}
81
+ when : always # Ensures build assets are cached even on failed builds
82
+ restore-android-build-cache :
83
+ steps :
84
+ - restore_cache :
85
+ name : Restoring Android & Gradle cache
86
+ keys :
87
+ - gradle-build-cache-{{ .Environment.CACHE_VERSION }}-{{ checksum "android/build.gradle" }}-{{ checksum "android/app/build.gradle" }}-{{ checksum "yarn.lock" }}
88
+ attach-workspace :
89
+ steps :
90
+ - attach_workspace :
91
+ at : ~/react-native-url-polyfill
83
92
install-yarn-dependencies :
84
93
steps :
85
94
- run :
@@ -91,7 +100,7 @@ commands:
91
100
yarn install --frozen-lockfile --no-progress --non-interactive --cache-folder ~/.cache/yarn
92
101
install-detox :
93
102
steps :
94
- - * restore-cache-detox-env
103
+ - restore-cache-detox-env
95
104
- run :
96
105
name : Install Detox
97
106
command : |
@@ -102,7 +111,7 @@ commands:
102
111
name : Clean Detox
103
112
command : |
104
113
detox clean-framework-cache && detox build-framework-cache
105
- - * save-cache-detox-env
114
+ - save-cache-detox-env
106
115
install-node :
107
116
steps :
108
117
- node/install :
@@ -116,23 +125,23 @@ jobs:
116
125
executor : default
117
126
steps :
118
127
- checkout
119
- - * restore-cache-yarn
128
+ - restore-cache-yarn
120
129
- run :
121
130
name : Yarn version
122
131
command : yarn -v
123
132
- run :
124
133
name : Yarn Install
125
134
command : |
126
135
yarn install --frozen-lockfile --no-progress --non-interactive --cache-folder ~/.cache/yarn
127
- - * save-cache-yarn
136
+ - save-cache-yarn
128
137
- persist_to_workspace :
129
138
root : .
130
139
paths :
131
140
- .
132
141
lint :
133
142
executor : default
134
143
steps :
135
- - * attach-workspace
144
+ - attach-workspace
136
145
- run :
137
146
name : Lint
138
147
command : yarn lint
@@ -143,7 +152,7 @@ jobs:
143
152
default : ' '
144
153
executor : default
145
154
steps :
146
- - * attach-workspace
155
+ - attach-workspace
147
156
- when :
148
157
condition : << parameters.react-native-version >>
149
158
steps :
@@ -163,8 +172,8 @@ jobs:
163
172
executor : << parameters.executor >>
164
173
working_directory : ~/react-native-url-polyfill/platforms/react-native/<< parameters.react-native-version >>
165
174
steps :
166
- - * attach-workspace
167
- - * restore-cache-detox-app
175
+ - attach-workspace
176
+ - restore-cache-detox-app
168
177
- install-node
169
178
- install-yarn-dependencies
170
179
- install-detox
@@ -177,25 +186,25 @@ jobs:
177
186
- run :
178
187
name : Run Detox on iOS
179
188
command : yarn e2e:ios
180
- - * save-cache-detox-app
189
+ - save-cache-detox-app
181
190
test-hermes-android :
182
191
parameters :
183
192
react-native-version :
184
193
type : string
185
194
executor : android
186
195
working_directory : ~/react-native-url-polyfill/platforms/react-native/<< parameters.react-native-version >>
187
196
steps :
188
- - * attach-workspace
197
+ - attach-workspace
189
198
- run :
190
199
name : Enable Hermes
191
200
command : sed -i "s/enableHermes:\sfalse/enableHermes:\ true/g" android/app/build.gradle
192
- - * restore-android-build-cache
201
+ - restore-android-build-cache
193
202
- install-node
194
203
- install-yarn-dependencies
195
204
- run :
196
205
name : Build APK
197
206
command : cd android && ./gradlew assembleRelease
198
- - * save-android-build-cache
207
+ - save-android-build-cache
199
208
test-hermes-ios :
200
209
parameters :
201
210
executor :
@@ -206,8 +215,8 @@ jobs:
206
215
executor : << parameters.executor >>
207
216
working_directory : ~/react-native-url-polyfill/platforms/react-native/<< parameters.react-native-version >>
208
217
steps :
209
- - * attach-workspace
210
- - * restore-cache-detox-app
218
+ - attach-workspace
219
+ - restore-cache-detox-app
211
220
- run :
212
221
name : Enable Hermes
213
222
command : npx shx sed -i "s/:hermes_enabled\s=>\sfalse/:hermes_enabled => true/g" ios/Podfile
0 commit comments