1*e07d83d3SAndroid Build Coastguard Worker#!/bin/bash 2*e07d83d3SAndroid Build Coastguard Worker 3*e07d83d3SAndroid Build Coastguard Workerset -exu -o pipefail 4*e07d83d3SAndroid Build Coastguard Workerif [[ -f /VERSION ]]; then 5*e07d83d3SAndroid Build Coastguard Worker cat /VERSION 6*e07d83d3SAndroid Build Coastguard Workerfi 7*e07d83d3SAndroid Build Coastguard Worker 8*e07d83d3SAndroid Build Coastguard Worker# Install gRPC and codegen for the Android interop app 9*e07d83d3SAndroid Build Coastguard Worker# (a composite gradle build can't find protoc-gen-grpc-java) 10*e07d83d3SAndroid Build Coastguard Worker 11*e07d83d3SAndroid Build Coastguard Workercd github/grpc-java 12*e07d83d3SAndroid Build Coastguard Worker 13*e07d83d3SAndroid Build Coastguard Workerexport GRADLE_OPTS=-Xmx512m 14*e07d83d3SAndroid Build Coastguard Workerexport LDFLAGS=-L/tmp/protobuf/lib 15*e07d83d3SAndroid Build Coastguard Workerexport CXXFLAGS=-I/tmp/protobuf/include 16*e07d83d3SAndroid Build Coastguard Workerexport LD_LIBRARY_PATH=/tmp/protobuf/lib 17*e07d83d3SAndroid Build Coastguard Workerexport OS_NAME=$(uname) 18*e07d83d3SAndroid Build Coastguard Worker 19*e07d83d3SAndroid Build Coastguard Workerecho y | ${ANDROID_HOME}/tools/bin/sdkmanager "build-tools;28.0.3" 20*e07d83d3SAndroid Build Coastguard Worker 21*e07d83d3SAndroid Build Coastguard Worker# Proto deps 22*e07d83d3SAndroid Build Coastguard Workerbuildscripts/make_dependencies.sh 23*e07d83d3SAndroid Build Coastguard Worker 24*e07d83d3SAndroid Build Coastguard Worker# Build Android with Java 11, this adds it to the PATH 25*e07d83d3SAndroid Build Coastguard Workersudo update-java-alternatives --set java-1.11.0-openjdk-amd64 26*e07d83d3SAndroid Build Coastguard Worker# Unset any existing JAVA_HOME env var to stop Gradle from using it 27*e07d83d3SAndroid Build Coastguard Workerunset JAVA_HOME 28*e07d83d3SAndroid Build Coastguard Worker 29*e07d83d3SAndroid Build Coastguard WorkerGRADLE_FLAGS="-Pandroid.useAndroidX=true" 30*e07d83d3SAndroid Build Coastguard Worker 31*e07d83d3SAndroid Build Coastguard Worker# Build and run interop instrumentation tests on Firebase Test Lab 32*e07d83d3SAndroid Build Coastguard Workercd android-interop-testing 33*e07d83d3SAndroid Build Coastguard Worker../gradlew assembleDebug $GRADLE_FLAGS 34*e07d83d3SAndroid Build Coastguard Worker../gradlew assembleDebugAndroidTest $GRADLE_FLAGS 35*e07d83d3SAndroid Build Coastguard Workergcloud firebase test android run \ 36*e07d83d3SAndroid Build Coastguard Worker --type instrumentation \ 37*e07d83d3SAndroid Build Coastguard Worker --app build/outputs/apk/debug/grpc-android-interop-testing-debug.apk \ 38*e07d83d3SAndroid Build Coastguard Worker --test build/outputs/apk/androidTest/debug/grpc-android-interop-testing-debug-androidTest.apk \ 39*e07d83d3SAndroid Build Coastguard Worker --environment-variables \ 40*e07d83d3SAndroid Build Coastguard Worker server_host=grpc-test.sandbox.googleapis.com,server_port=443,test_case=all \ 41*e07d83d3SAndroid Build Coastguard Worker --device model=Nexus6P,version=27,locale=en,orientation=portrait \ 42*e07d83d3SAndroid Build Coastguard Worker --device model=Nexus6P,version=26,locale=en,orientation=portrait \ 43*e07d83d3SAndroid Build Coastguard Worker --device model=Nexus6P,version=25,locale=en,orientation=portrait \ 44*e07d83d3SAndroid Build Coastguard Worker --device model=Nexus6P,version=24,locale=en,orientation=portrait \ 45*e07d83d3SAndroid Build Coastguard Worker --device model=Nexus6P,version=23,locale=en,orientation=portrait \ 46*e07d83d3SAndroid Build Coastguard Worker --device model=Nexus6,version=22,locale=en,orientation=portrait \ 47*e07d83d3SAndroid Build Coastguard Worker --device model=Nexus6,version=21,locale=en,orientation=portrait 48*e07d83d3SAndroid Build Coastguard Worker 49*e07d83d3SAndroid Build Coastguard Worker# Build and run binderchannel instrumentation tests on Firebase Test Lab 50*e07d83d3SAndroid Build Coastguard Workercd ../binder 51*e07d83d3SAndroid Build Coastguard Worker../gradlew assembleDebugAndroidTest $GRADLE_FLAGS 52*e07d83d3SAndroid Build Coastguard Workergcloud firebase test android run \ 53*e07d83d3SAndroid Build Coastguard Worker --type instrumentation \ 54*e07d83d3SAndroid Build Coastguard Worker --app ../android-interop-testing/build/outputs/apk/debug/grpc-android-interop-testing-debug.apk \ 55*e07d83d3SAndroid Build Coastguard Worker --test build/outputs/apk/androidTest/debug/grpc-binder-debug-androidTest.apk \ 56*e07d83d3SAndroid Build Coastguard Worker --device model=Nexus6P,version=27,locale=en,orientation=portrait \ 57*e07d83d3SAndroid Build Coastguard Worker --device model=Nexus6P,version=26,locale=en,orientation=portrait \ 58*e07d83d3SAndroid Build Coastguard Worker --device model=Nexus6P,version=25,locale=en,orientation=portrait \ 59*e07d83d3SAndroid Build Coastguard Worker --device model=Nexus6P,version=24,locale=en,orientation=portrait \ 60*e07d83d3SAndroid Build Coastguard Worker --device model=Nexus6P,version=23,locale=en,orientation=portrait \ 61*e07d83d3SAndroid Build Coastguard Worker --device model=Nexus6,version=22,locale=en,orientation=portrait \ 62*e07d83d3SAndroid Build Coastguard Worker --device model=Nexus6,version=21,locale=en,orientation=portrait 63