1
- version : 2
1
+ version : 2.1
2
2
3
3
# ==============================
4
4
# DEFAULTS FOR JOBS
@@ -117,6 +117,45 @@ cache:
117
117
keys :
118
118
- *key_pods
119
119
120
+
121
+ # ==============================
122
+ # COMMANDS
123
+ # ==============================
124
+
125
+ commands :
126
+ run_android_e2e :
127
+ parameters :
128
+ testScript :
129
+ type : string
130
+ default : test:e2e:android:next
131
+ steps :
132
+ - *addWorkspace
133
+ - run :
134
+ name : Start emulator in background
135
+ background : true
136
+ command : |
137
+ emulator -avd "Emu_E2E" \
138
+ -cores 1 \
139
+ -gpu auto \
140
+ -accel on \
141
+ -memory 1024 \
142
+ -no-audio \
143
+ -no-snapshot \
144
+ -no-boot-anim \
145
+ -no-window \
146
+ -logcat '*:E ReactNative:W ReactNativeJS:*'
147
+ - run :
148
+ name : Wait for emulator to boot
149
+ command : ./scripts/android_e2e.sh 'wait_for_emulator'
150
+ - run :
151
+ name : Wake device
152
+ command : |
153
+ adb shell input keyevent 82
154
+ - run :
155
+ name : Run e2e tests
156
+ command : yarn << parameters.testScript >>
157
+
158
+
120
159
# ==============================
121
160
# JOBS
122
161
# ==============================
@@ -228,6 +267,17 @@ jobs:
228
267
- example/android/app/build/outputs/apk/*
229
268
230
269
" Test: Android e2e " :
270
+ << : *macos_defaults_android
271
+ steps :
272
+ - run_android_e2e :
273
+ testScript : " test:e2e:android"
274
+
275
+ " Test: Android e2e Next " :
276
+ << : *macos_defaults_android
277
+ steps :
278
+ - run_android_e2e
279
+
280
+ " Build: Prepare android e2e environment " :
231
281
<< : *macos_defaults_android
232
282
steps :
233
283
- *addWorkspace
@@ -257,13 +307,6 @@ jobs:
257
307
yes | sdkmanager "build-tools;28.0.3" 1> /dev/null
258
308
yes | sdkmanager --licenses 1> /dev/null
259
309
yes | sdkmanager --list
260
- - run :
261
- name : ADB start/stop
262
- command : |
263
- adb start-server
264
- adb devices
265
- adb kill-server
266
- ls -la ~/.android
267
310
- run :
268
311
name : Create emulator
269
312
command : |
@@ -272,33 +315,9 @@ jobs:
272
315
-k "system-images;android-28;default;x86_64" \
273
316
-g "default" \
274
317
-d "pixel"
275
- - run :
276
- name : Start emulator in background
277
- background : true
278
- command : |
279
- emulator -avd "Emu_E2E" \
280
- -cores 1 \
281
- -gpu auto \
282
- -accel on \
283
- -memory 1024 \
284
- -no-audio \
285
- -no-snapshot \
286
- -no-boot-anim \
287
- -no-window \
288
- -logcat '*:E ReactNative:W ReactNativeJS:*'
289
- - run :
290
- name : Wait for emulator to boot
291
- command : ./scripts/android_e2e.sh 'wait_for_emulator'
292
- - run :
293
- name : Wake device
294
- command : |
295
- adb shell input keyevent 82
296
- - run :
297
- name : Run e2e tests
298
- command : yarn test:e2e:android
299
- - run :
300
- name : Run e2e tests for Next storage
301
- command : yarn detox test -c android.emu.release.next --maxConcurrency 1
318
+ - persist_to_workspace :
319
+ root : .
320
+ paths : .
302
321
303
322
Release :
304
323
<< : *js_defaults
@@ -334,13 +353,20 @@ workflows:
334
353
- " Test: lint"
335
354
- " Test: flow"
336
355
- " Test: Android unit"
337
- - " Test: Android e2e" :
356
+ - " Build: Prepare android e2e environment " :
338
357
requires :
339
358
- " Build: Android release apk"
359
+ - " Test: Android e2e " :
360
+ requires :
361
+ - " Build: Prepare android e2e environment"
362
+ - " Test: Android e2e Next " :
363
+ requires :
364
+ - " Build: Prepare android e2e environment"
340
365
- " Release " :
341
366
requires :
342
367
- " Test: iOS e2e"
343
368
- " Test: Android e2e"
369
+ - " Test: Android e2e Next"
344
370
filters :
345
371
branches :
346
372
only : master
0 commit comments