52 lines
1.9 KiB
YAML
Executable File
52 lines
1.9 KiB
YAML
Executable File
version: 2
|
|
jobs:
|
|
build:
|
|
working_directory: ~/code
|
|
docker:
|
|
- image: circleci/android:api-29
|
|
environment:
|
|
JVM_OPTS: -Xmx3200m
|
|
MAX_RETRY: 4
|
|
steps:
|
|
- checkout
|
|
- restore_cache:
|
|
key: jars-{{ checksum "build.gradle" }}-{{ checksum "flexbox/build.gradle" }}
|
|
- run:
|
|
name: Download Dependencies
|
|
command: ./gradlew androidDependencies
|
|
- run:
|
|
name: Set up gcloud service key
|
|
command: |
|
|
if [ -n "$GCLOUD_SERVICE_KEY" ]; then echo ${GCLOUD_SERVICE_KEY} | base64 --decode > ${HOME}/client-secret.json ;
|
|
gcloud config set project ${GCLOUD_PROJECT} ;
|
|
gcloud auth activate-service-account ${GCLOUD_SERVICE_ACCOUNT} --key-file ${HOME}/client-secret.json ;
|
|
fi
|
|
- save_cache:
|
|
paths:
|
|
- ~/.gradle
|
|
key: jars-{{ checksum "build.gradle" }}-{{ checksum "flexbox/build.gradle" }}
|
|
- run:
|
|
name: Build apks
|
|
command: ./gradlew build assembleAndroidTest
|
|
- run:
|
|
name: Run Firebase Test Lab
|
|
command: |
|
|
if [ -n "$GCLOUD_SERVICE_KEY" ]; then set +e ;
|
|
counter=0 ;
|
|
result=1 ;
|
|
while [ $result != 0 -a $counter -lt $MAX_RETRY ]; do
|
|
gcloud firebase test android run \
|
|
--type instrumentation \
|
|
--app demo-playground/build/outputs/apk/debug/demo-playground-debug.apk \
|
|
--test flexbox/build/outputs/apk/androidTest/debug/flexbox-debug-androidTest.apk \
|
|
--device-ids hammerhead,sailfish \
|
|
--os-version-ids 19,21,23,24,25,26 \
|
|
--locales en --orientations portrait,landscape \
|
|
--results-bucket android-devrel-ci-flexbox \
|
|
--timeout 180s ;
|
|
result=$? ;
|
|
let counter=counter+1 ;
|
|
done
|
|
exit $result ;
|
|
fi
|