xref: /aosp_15_r20/external/grpc-grpc-java/buildscripts/kokoro/android-interop.sh (revision e07d83d3ffcef9ecfc9f7f475418ec639ff0e5fe)
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