Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- image: jangrewe/gitlab-ci-android
- stages:
- - build
- - test
- before_script:
- - export GRADLE_USER_HOME=$(pwd)/.gradle
- - chmod +x ./gradlew
- build_debug:
- stage: build
- script:
- - ./gradlew assembleDebug
- artifacts:
- paths:
- - app/build/outputs/
- .test_lab_template: &test_lab_template_def
- stage: test
- before_script:
- # Preparing wget
- - apt-get update
- #- apt-get upgrade -y
- - apt install python2.7 python-pip -y
- #- apt-get install wget
- # Install Google Cloud SDK
- - curl https://dl.google.com/dl/cloudsdk/channels/rapid/google-cloud-sdk.tar.gz --output /tmp/google-cloud-sdk.tar.gz
- - mkdir -p /opt
- - tar zxf /tmp/google-cloud-sdk.tar.gz --directory /opt
- - /opt/google-cloud-sdk/install.sh --quiet
- - source /opt/google-cloud-sdk/path.bash.inc
- # Setup and configure the project
- - gcloud components update
- - echo $GCLOUD_PROJECT_ID
- - gcloud config set project $GCLOUD_PROJECT_ID
- # Activate cloud credentials
- - echo $SERVICE_ACCOUNT > /tmp/service-account.json
- - gcloud auth activate-service-account --key-file /tmp/service-account.json
- # 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:
- - cp app/build/outputs/apk/autopizza/debug/app-autopizza-debug.apk ./app.apk
- dependencies:
- - build_debug
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement