Gitlab CI for Firebase Test Lab
image: jangrewe/gitlab-ci-android | |
stages: | |
- build | |
- test | |
before_script: | |
- export GRADLE_USER_HOME=$(pwd)/.gradle | |
- chmod +x ./gradlew | |
cache: | |
key: ${CI_PROJECT_ID} | |
paths: | |
- .gradle/ | |
build_dev_debug: | |
stage: build | |
script: | |
- ./gradlew assembleDevDebug | |
- ./gradlew assembleDevDebugAndroidTest | |
only: | |
- dev | |
artifacts: | |
paths: | |
- app/build/outputs/ | |
instrumentation_test_dev_debug: | |
stage: test | |
only: | |
- dev | |
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 | |
- wget --quiet --output-document=/tmp/google-cloud-sdk.tar.gz https://dl.google.com/dl/cloudsdk/channels/rapid/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 | |
- gcloud config set project $PROJECT_ID | |
# Activate cloud credentials | |
- echo $SERVICE_ACCOUNT > /tmp/service-account.json | |
- gcloud auth activate-service-account --key-file /tmp/service-account.json | |
script: | |
# copy file to root and rename it for easier access | |
- cp app/build/outputs/apk/dev/debug/app-dev-debug.apk ./app.apk | |
- cp app/build/outputs/apk/androidTest/dev/debug/app-dev-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_dev_debug |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment