From 31fa1afd13204e4e99c7702af82ee21b0a5b8064 Mon Sep 17 00:00:00 2001 From: Raman deep Date: Wed, 17 Feb 2021 18:24:49 +0000 Subject: [PATCH] Update .gitlab-ci.yml --- .gitlab-ci.yml | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4fee755..d9cfd0a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -70,7 +70,7 @@ build_debug: - app/build/outputs/ -.test_lab_template: &test_lab_template_def +.test_lab_template: &test_lab_template_def stage: test before_script: # Install Google Cloud SDK @@ -92,16 +92,28 @@ build_debug: # List available options for logging purpose only (so that we can review available options) - gcloud firebase test android models list - gcloud firebase test android versions list + + + after_script: + - source /opt/google-cloud-sdk/path.bash.inc + + # Iterate up to 10 possible test lab configurations and create CLI tool options + - for i in `seq 1 10`; do export CONFIG="TEST_LAB_DEVICE_CONFIGURATION_$i"; if [ -n "${!CONFIG}" ]; then export TEST_LAB_DEVICE_CONFIGURATIONS="$TEST_LAB_DEVICE_CONFIGURATIONS --device model=${!CONFIG} "; fi; done + # Output for debug logging purpose only + - echo $TEST_LAB_DEVICE_CONFIGURATIONS + + # Run tests if there were any configured + - if [ -n "$TEST_LAB_DEVICE_CONFIGURATIONS" ]; then gcloud firebase test android run --type robo --app app.apk $TEST_LAB_DEVICE_CONFIGURATIONS --timeout 90s; fi + + # Warn if there were no configurations + - if [ -z "$TEST_LAB_DEVICE_CONFIGURATIONS" ]; then echo "NO FIREBASE TESTLAB CONFIGURATIONS!!!"; fi + test_lab_debug: - <<: *test_lab_template_def - -script: - # copy file to root and rename it for easier access - - cp app/build/outputs/apk/debug/app-debug.apk ./app.apk - - cp app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk ./app-test.apk - # deploy to gcloud and run instrumented test - - gcloud firebase test android run --type instrumentation --app app.apk --test app-test.apk --device model=Nexus6P,version=26,locale=en,orientation=portrait -dependencies: - - build_debug - + <<: *test_lab_template_def + script: + - cp app/build/outputs/apk/debug/app-debug.apk ./app.apk + - cp app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk ./app-test.apk + - gcloud firebase test android run --type instrumentation --app app.apk --test app-test.apk --device model=Nexus6P,version=26,locale=en,orientation=portrait + dependencies: + - build_debug