diff --git a/.github/workflows/_android.yml b/.github/workflows/_android.yml index 82e49d6672e..7061eb72aa3 100644 --- a/.github/workflows/_android.yml +++ b/.github/workflows/_android.yml @@ -30,6 +30,7 @@ jobs: # Build LLM Demo for Android bash build/build_android_library.sh ${ARTIFACTS_DIR_NAME} + bash build/build_android_instrumentation.sh # Running Android emulator directly on the runner and not using Docker run-emulator: diff --git a/build/build_android_instrumentation.sh b/build/build_android_instrumentation.sh new file mode 100644 index 00000000000..91bf03691b0 --- /dev/null +++ b/build/build_android_instrumentation.sh @@ -0,0 +1,40 @@ +#!/bin/bash +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. +# +# This source code is licensed under the BSD-style license found in the +# LICENSE file in the root directory of this source tree. + +set -ex + +if [[ -z "${PYTHON_EXECUTABLE:-}" ]]; then + PYTHON_EXECUTABLE=python3 +fi +which "${PYTHON_EXECUTABLE}" + +build_android_test() { + pushd extension/android_test + ANDROID_HOME="${ANDROID_SDK:-/opt/android/sdk}" ./gradlew testDebugUnitTest + ANDROID_HOME="${ANDROID_SDK:-/opt/android/sdk}" ./gradlew build assembleAndroidTest + popd +} + +collect_artifacts_to_be_uploaded() { + ARTIFACTS_DIR_NAME="$1" + # Collect Java library test + JAVA_LIBRARY_TEST_DIR="${ARTIFACTS_DIR_NAME}/library_test_dir" + mkdir -p "${JAVA_LIBRARY_TEST_DIR}" + cp extension/android_test/build/outputs/apk/debug/*.apk "${JAVA_LIBRARY_TEST_DIR}" + cp extension/android_test/build/outputs/apk/androidTest/debug/*.apk "${JAVA_LIBRARY_TEST_DIR}" +} + +main() { + build_android_test + if [ -n "$ARTIFACTS_DIR_NAME" ]; then + collect_artifacts_to_be_uploaded ${ARTIFACTS_DIR_NAME} + fi +} + +if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then + main "$@" +fi diff --git a/build/build_android_library.sh b/build/build_android_library.sh index 01ea86bf830..32b2210a54e 100644 --- a/build/build_android_library.sh +++ b/build/build_android_library.sh @@ -149,11 +149,6 @@ build_android_demo_apps() { pushd extension/benchmark/android/benchmark ANDROID_HOME="${ANDROID_SDK:-/opt/android/sdk}" ./gradlew build assembleAndroidTest popd - - pushd extension/android_test - ANDROID_HOME="${ANDROID_SDK:-/opt/android/sdk}" ./gradlew testDebugUnitTest - ANDROID_HOME="${ANDROID_SDK:-/opt/android/sdk}" ./gradlew build assembleAndroidTest - popd } collect_artifacts_to_be_uploaded() { @@ -172,11 +167,6 @@ collect_artifacts_to_be_uploaded() { mkdir -p "${MINIBENCH_APP_DIR}" cp extension/benchmark/android/benchmark/app/build/outputs/apk/debug/*.apk "${MINIBENCH_APP_DIR}" cp extension/benchmark/android/benchmark/app/build/outputs/apk/androidTest/debug/*.apk "${MINIBENCH_APP_DIR}" - # Collect Java library test - JAVA_LIBRARY_TEST_DIR="${ARTIFACTS_DIR_NAME}/library_test_dir" - mkdir -p "${JAVA_LIBRARY_TEST_DIR}" - cp extension/android_test/build/outputs/apk/debug/*.apk "${JAVA_LIBRARY_TEST_DIR}" - cp extension/android_test/build/outputs/apk/androidTest/debug/*.apk "${JAVA_LIBRARY_TEST_DIR}" } main() {