Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 15 additions & 1 deletion .github/workflows/_android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,22 @@ jobs:
export ARTIFACTS_DIR_NAME=artifacts-to-be-uploaded

# Build LLM Demo for Android
export BUILD_AAR_DIR=aar-out
bash build/build_android_library.sh ${ARTIFACTS_DIR_NAME}
bash build/build_android_instrumentation.sh
bash build/build_android_instrumentation.sh ${ARTIFACTS_DIR_NAME}

mkdir -p examples/demo-apps/android/LlamaDemo/app/libs
cp aar-out/executorch.aar examples/demo-apps/android/LlamaDemo/app/libs
pushd examples/demo-apps/android/LlamaDemo
ANDROID_HOME="${ANDROID_SDK:-/opt/android/sdk}" ./gradlew build assembleAndroidTest
popd

DEMO_APP_DIR="${ARTIFACTS_DIR_NAME}/llm_demo"
# The app directory is named using its build flavor as a suffix.
mkdir -p "${DEMO_APP_DIR}"
# Collect the app and its test suite
cp examples/demo-apps/android/LlamaDemo/app/build/outputs/apk/debug/*.apk "${DEMO_APP_DIR}"
cp examples/demo-apps/android/LlamaDemo/app/build/outputs/apk/androidTest/debug/*.apk "${DEMO_APP_DIR}"

# Running Android emulator directly on the runner and not using Docker
run-emulator:
Expand Down
13 changes: 11 additions & 2 deletions .github/workflows/android-perf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -362,8 +362,17 @@ jobs:
PYTHON_EXECUTABLE=python bash .ci/scripts/setup-qnn-deps.sh
PYTHON_EXECUTABLE=python bash .ci/scripts/build-qnn-sdk.sh

export ANDROID_ABIS="arm64-v8a"
PYTHON_EXECUTABLE=python EXECUTORCH_BUILD_QNN=ON QNN_SDK_ROOT=/tmp/qnn/2.28.0.241029 bash build/build_android_library.sh ${ARTIFACTS_DIR_NAME}
mkdir -p aar-out
PYTHON_EXECUTABLE=python ANDROID_ABIS="arm64-v8a" BUILD_AAR_DIR=aar-out EXECUTORCH_BUILD_QNN=ON QNN_SDK_ROOT=/tmp/qnn/2.28.0.241029 bash build/build_android_library.sh
mkdir -p extension/benchmark/android/benchmark/app/libs
cp aar-out/executorch.aar extension/benchmark/android/benchmark/app/libs
pushd extension/benchmark/android/benchmark
ANDROID_HOME="${ANDROID_SDK:-/opt/android/sdk}" ./gradlew build assembleAndroidTest
popd
MINIBENCH_APP_DIR="${ARTIFACTS_DIR_NAME}/minibench"
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}"

# Let's see how expensive this job is, we might want to tone it down by running it periodically
benchmark-on-device:
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/android-release-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,12 @@ jobs:
PYTHON_EXECUTABLE=python bash .ci/scripts/setup-linux.sh --build-tool buck2
export ARTIFACTS_DIR_NAME=artifacts-to-be-uploaded

# Build LLM Demo for Android
bash build/build_android_library.sh ${ARTIFACTS_DIR_NAME}
# Build AAR Package
mkdir aar-out
export BUILD_AAR_DIR=aar-out
bash build/build_android_library.sh
mkdir -p "${ARTIFACTS_DIR_NAME}/llm_demo"
cp aar-out/executorch.aar "${ARTIFACTS_DIR_NAME}/llm_demo/executorch.aar"

shasum -a 256 "${ARTIFACTS_DIR_NAME}/llm_demo/executorch.aar"

Expand Down
13 changes: 6 additions & 7 deletions build/build_android_library.sh
Original file line number Diff line number Diff line change
Expand Up @@ -159,9 +159,8 @@ collect_artifacts_to_be_uploaded() {
# Collect the app and its test suite
cp examples/demo-apps/android/LlamaDemo/app/build/outputs/apk/debug/*.apk "${DEMO_APP_DIR}"
cp examples/demo-apps/android/LlamaDemo/app/build/outputs/apk/androidTest/debug/*.apk "${DEMO_APP_DIR}"
# Collect JAR and AAR
cp extension/android/build/libs/executorch.jar "${DEMO_APP_DIR}"
find "${BUILD_AAR_DIR}/" -name 'executorch*.aar' -exec cp {} "${DEMO_APP_DIR}" \;
# Collect AAR
cp "${BUILD_AAR_DIR}/executorch.aar" "${DEMO_APP_DIR}"
# Collect MiniBench APK
MINIBENCH_APP_DIR="${ARTIFACTS_DIR_NAME}/minibench"
mkdir -p "${MINIBENCH_APP_DIR}"
Expand All @@ -186,10 +185,10 @@ main() {
build_android_native_library ${ANDROID_ABI}
done
build_aar
build_android_demo_apps
if [ -n "$ARTIFACTS_DIR_NAME" ]; then
collect_artifacts_to_be_uploaded ${ARTIFACTS_DIR_NAME}
fi
# build_android_demo_apps
# if [ -n "$ARTIFACTS_DIR_NAME" ]; then
# collect_artifacts_to_be_uploaded ${ARTIFACTS_DIR_NAME}
# fi
}

if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
Expand Down
Loading