@@ -17,6 +17,12 @@ references:
17
17
- e2e_ios
18
18
- e2e_android
19
19
20
+ dream11_prepare_config : &dream11_prepare_config
21
+ prepare_steps :
22
+ - prepare_dream11
23
+ requires :
24
+ - hold_test_dream11
25
+
20
26
commands :
21
27
install_node_modules :
22
28
parameters :
@@ -36,15 +42,28 @@ commands:
36
42
parameters :
37
43
working_directory :
38
44
type : string
45
+ deployment :
46
+ type : boolean
47
+ default : false
39
48
steps :
40
49
- restore_cache :
41
50
name : Restore Pods Cache
42
51
keys :
43
52
- v1-pods-{{ checksum "<< parameters.working_directory >>/Podfile.lock" }}
44
- - run :
45
- name : Install Pods
46
- working_directory : << parameters.working_directory >>
47
- command : pod install --deployment
53
+ - when :
54
+ condition : << parameters.deployment >>
55
+ steps :
56
+ - run :
57
+ name : Install Pods
58
+ working_directory : << parameters.working_directory >>
59
+ command : pod install --deployment
60
+ - unless :
61
+ condition : << parameters.deployment >>
62
+ steps :
63
+ - run :
64
+ name : Install Pods
65
+ working_directory : << parameters.working_directory >>
66
+ command : pod install
48
67
- save_cache :
49
68
name : Save Pods Cache
50
69
key : v1-pods-{{ checksum "<< parameters.working_directory >>/Podfile.lock" }}
@@ -120,6 +139,11 @@ commands:
120
139
name : Remove unused features
121
140
command : ./scripts/dream-11-delete-unused-features.sh
122
141
working_directory : << parameters.working_directory >>
142
+ # Remove the NDK package to avoid dependency conflicts on Android.
143
+ - run :
144
+ name : Remove the NDK package
145
+ command : yarn remove instabug-reactnative-ndk
146
+ working_directory : << parameters.working_directory >>/examples/default
123
147
124
148
notify_github :
125
149
parameters :
@@ -158,20 +182,38 @@ jobs:
158
182
command : yarn lint:ci
159
183
160
184
test_module :
185
+ parameters :
186
+ prepare_steps :
187
+ type : steps
188
+ default : []
189
+ collect_coverage :
190
+ type : boolean
191
+ default : false
161
192
executor :
162
193
name : node/default
163
194
steps :
164
195
- advanced-checkout/shallow-checkout
196
+ - steps : << parameters.prepare_steps >>
165
197
- install_node_modules
166
198
- run :
167
199
name : Run Tests
168
200
command : yarn test
169
- - persist_to_workspace :
170
- root : coverage
171
- paths :
172
- - lcov.info
201
+ - when :
202
+ condition : << parameters.collect_coverage >>
203
+ steps :
204
+ - persist_to_workspace :
205
+ root : coverage
206
+ paths :
207
+ - lcov.info
173
208
174
209
test_android :
210
+ parameters :
211
+ prepare_steps :
212
+ type : steps
213
+ default : []
214
+ collect_coverage :
215
+ type : boolean
216
+ default : false
175
217
executor :
176
218
name : android/android-machine
177
219
tag : ' 2024.01.1'
@@ -180,15 +222,18 @@ jobs:
180
222
INSTABUG_SOURCEMAPS_UPLOAD_DISABLE : true
181
223
steps :
182
224
- advanced-checkout/shallow-checkout
183
- # - node/install-yarn
225
+ - steps : << parameters.prepare_steps >>
184
226
- install_node_modules
185
227
- android/run-tests :
186
228
working-directory : android
187
229
test-command : ./gradlew test
188
- - persist_to_workspace :
189
- root : ~/project/android/build/reports/jacoco/jacocoTestReport
190
- paths :
191
- - jacocoTestReport.xml
230
+ - when :
231
+ condition : << parameters.collect_coverage >>
232
+ steps :
233
+ - persist_to_workspace :
234
+ root : ~/project/android/build/reports/jacoco/jacocoTestReport
235
+ paths :
236
+ - jacocoTestReport.xml
192
237
193
238
validate_shell_files :
194
239
machine :
@@ -217,10 +262,18 @@ jobs:
217
262
app-dir : examples/default
218
263
- install_pods :
219
264
working_directory : examples/default/ios
265
+ deployment : true
220
266
- run : git --no-pager diff
221
267
- run : git diff-index HEAD --exit-code -p -I EXCLUDED_ARCHS # Ignore Arch Changes
222
268
223
269
test_ios :
270
+ parameters :
271
+ prepare_steps :
272
+ type : steps
273
+ default : []
274
+ collect_coverage :
275
+ type : boolean
276
+ default : false
224
277
macos :
225
278
xcode : 13.4.1
226
279
resource_class : macos.m1.medium.gen1
@@ -229,6 +282,7 @@ jobs:
229
282
INSTABUG_SOURCEMAPS_UPLOAD_DISABLE : true
230
283
steps :
231
284
- advanced-checkout/shallow-checkout
285
+ - steps : << parameters.prepare_steps >>
232
286
- install_node_modules
233
287
- install_pods :
234
288
working_directory : ios
@@ -243,23 +297,31 @@ jobs:
243
297
-sdk iphonesimulator \
244
298
-destination 'platform=iOS Simulator,name=iPhone 13 Pro Max,OS=15.5' \
245
299
test | xcpretty
246
- - run :
247
- name : Convert xcresult into JSON report
248
- working_directory : ios/coverage
249
- command : xcrun xccov view --report --json result.xcresult > xcode.json
250
- - persist_to_workspace :
251
- root : ios/coverage
252
- paths :
253
- - xcode.json
300
+ - when :
301
+ condition : << parameters.collect_coverage >>
302
+ steps :
303
+ - run :
304
+ name : Convert xcresult into JSON report
305
+ working_directory : ios/coverage
306
+ command : xcrun xccov view --report --json result.xcresult > xcode.json
307
+ - persist_to_workspace :
308
+ root : ios/coverage
309
+ paths :
310
+ - xcode.json
254
311
255
312
e2e_ios :
313
+ parameters :
314
+ prepare_steps :
315
+ type : steps
316
+ default : []
256
317
macos :
257
318
xcode : 13.4.1
258
319
resource_class : macos.m1.medium.gen1
259
320
environment :
260
321
INSTABUG_SOURCEMAPS_UPLOAD_DISABLE : true
261
322
steps :
262
323
- advanced-checkout/shallow-checkout
324
+ - steps : << parameters.prepare_steps >>
263
325
- install_node_modules
264
326
- node/install-packages :
265
327
pkg-manager : yarn
@@ -276,6 +338,11 @@ jobs:
276
338
name : Rebuild Detox.framework Cache
277
339
working_directory : examples/default
278
340
command : detox clean-framework-cache && detox build-framework-cache
341
+ # This is a workaround until the iOS SDK is updated to prioritize the custom
342
+ # Instabug.plist over the internal Config.plist.
343
+ - run :
344
+ name : Customize API Endpoints
345
+ command : ./scripts/customize-ios-endpoints.sh
279
346
- run :
280
347
name : Detox - Build Release App
281
348
working_directory : examples/default
@@ -286,6 +353,10 @@ jobs:
286
353
command : detox test --configuration ios.sim.release --cleanup
287
354
288
355
e2e_android :
356
+ parameters :
357
+ prepare_steps :
358
+ type : steps
359
+ default : []
289
360
executor :
290
361
name : android/android-machine
291
362
tag : ' 2024.01.1'
@@ -294,7 +365,7 @@ jobs:
294
365
INSTABUG_SOURCEMAPS_UPLOAD_DISABLE : true
295
366
steps :
296
367
- advanced-checkout/shallow-checkout
297
- # - node/install-yarn
368
+ - steps : << parameters.prepare_steps >>
298
369
- install_node_modules
299
370
- node/install-packages :
300
371
pkg-manager : yarn
@@ -439,11 +510,14 @@ workflows:
439
510
- test_android
440
511
- test_ios
441
512
- lint
442
- - test_module
443
- - test_android
513
+ - test_module :
514
+ collect_coverage : true
515
+ - test_android :
516
+ collect_coverage : true
517
+ - test_ios :
518
+ collect_coverage : true
444
519
- validate_shell_files
445
520
- sync_generated_files
446
- - test_ios
447
521
- e2e_ios
448
522
- e2e_android
449
523
- hold_generate_snapshot :
@@ -515,8 +589,33 @@ workflows:
515
589
android_package : injazat
516
590
api_endpoint : st001013mec1.instabug.com
517
591
592
+ # Dream11 tests
593
+ - hold_test_dream11 :
594
+ type : approval
595
+ - test_module :
596
+ name : test_module_dream11
597
+ << : *dream11_prepare_config
598
+ - test_android :
599
+ name : test_android_dream11
600
+ << : *dream11_prepare_config
601
+ - test_ios :
602
+ name : test_ios_dream11
603
+ << : *dream11_prepare_config
604
+ - e2e_android :
605
+ name : e2e_android_dream11
606
+ << : *dream11_prepare_config
607
+ - e2e_ios :
608
+ name : e2e_ios_dream11
609
+ << : *dream11_prepare_config
610
+
611
+ # Dream11 release
518
612
- hold_release_dream11 :
519
- requires : *release_dependencies
613
+ requires :
614
+ - test_module_dream11
615
+ - test_android_dream11
616
+ - test_ios_dream11
617
+ - e2e_android_dream11
618
+ - e2e_ios_dream11
520
619
type : approval
521
620
filters :
522
621
branches :
0 commit comments