diff --git a/.github/workflows/android-build.yml b/.github/workflows/android-build.yml index eabb370d..cab135b4 100644 --- a/.github/workflows/android-build.yml +++ b/.github/workflows/android-build.yml @@ -7,6 +7,7 @@ name: Android Build on: + pull_request: schedule: # Run nightly at midnight UTC - cron: '0 0 * * *' @@ -35,38 +36,49 @@ jobs: path: mv3/android/MV3Demo - name: YoloDemo path: Yolo/android + - name: WhisperDemo + path: whisper/android/WhisperApp + require_aar: true + - name: ParakeetDemo + path: parakeet/android/ParakeetApp + require_aar: true name: Build ${{ matrix.name }} steps: - name: Checkout repository + if: ${{ !matrix.require_aar || inputs.local_aar }} uses: actions/checkout@v4 - name: Set up JDK 17 + if: ${{ !matrix.require_aar || inputs.local_aar }} uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' - name: Setup Gradle + if: ${{ !matrix.require_aar || inputs.local_aar }} uses: gradle/actions/setup-gradle@v4 - name: Download local AAR - if: ${{ inputs.local_aar && (matrix.name == 'LlamaDemo' || matrix.name == 'YoloDemo') }} + if: ${{ inputs.local_aar && (matrix.name == 'LlamaDemo' || matrix.name == 'YoloDemo' || matrix.name == 'WhisperDemo' || matrix.name == 'ParakeetDemo') }} run: | mkdir -p ${{ matrix.path }}/app/libs curl -fL -o ${{ matrix.path }}/app/libs/executorch.aar "${{ inputs.local_aar }}" - name: Build with Gradle + if: ${{ !matrix.require_aar || inputs.local_aar }} working-directory: ${{ matrix.path }} run: | - if [ -n "${{ inputs.local_aar }}" ] && ([ "${{ matrix.name }}" == "LlamaDemo" ] || [ "${{ matrix.name }}" == "YoloDemo" ]); then + if [ -n "${{ inputs.local_aar }}" ] && ([ "${{ matrix.name }}" == "LlamaDemo" ] || [ "${{ matrix.name }}" == "YoloDemo" ] || [ "${{ matrix.name }}" == "WhisperDemo" ] || [ "${{ matrix.name }}" == "ParakeetDemo" ]); then ./gradlew build --no-daemon -PuseLocalAar=true else ./gradlew build --no-daemon fi - name: Rename APKs with demo name + if: ${{ !matrix.require_aar || inputs.local_aar }} working-directory: ${{ matrix.path }}/app/build/outputs/apk/ run: | find . -name "*.apk" -type f -print0 | while IFS= read -r -d '' apk; do @@ -78,6 +90,7 @@ jobs: done - name: Upload build artifacts + if: ${{ !matrix.require_aar || inputs.local_aar }} uses: actions/upload-artifact@v4 with: name: ${{ matrix.name }}-apk diff --git a/parakeet/android/ParakeetApp/app/build.gradle.kts b/parakeet/android/ParakeetApp/app/build.gradle.kts index 352405e1..4a5b06de 100644 --- a/parakeet/android/ParakeetApp/app/build.gradle.kts +++ b/parakeet/android/ParakeetApp/app/build.gradle.kts @@ -48,6 +48,7 @@ dependencies { implementation(libs.androidx.ui.graphics) implementation(libs.androidx.ui.tooling.preview) implementation(libs.androidx.material3) + testImplementation(libs.junit) debugImplementation(libs.androidx.ui.tooling) if (useLocalAar == true) { implementation(files("libs/executorch.aar")) diff --git a/whisper/android/WhisperApp/app/build.gradle.kts b/whisper/android/WhisperApp/app/build.gradle.kts index 48a2fc79..c1f70356 100644 --- a/whisper/android/WhisperApp/app/build.gradle.kts +++ b/whisper/android/WhisperApp/app/build.gradle.kts @@ -4,6 +4,8 @@ plugins { alias(libs.plugins.kotlin.compose) } +val useLocalAar: Boolean? = (project.findProperty("useLocalAar") as? String)?.toBoolean() + android { namespace = "com.example.whisperapp" compileSdk = 35 @@ -46,7 +48,12 @@ dependencies { implementation(libs.androidx.ui.graphics) implementation(libs.androidx.ui.tooling.preview) implementation(libs.androidx.material3) + testImplementation(libs.junit) debugImplementation(libs.androidx.ui.tooling) - implementation(files("libs/executorch.aar")) + if (useLocalAar == true) { + implementation(files("libs/executorch.aar")) + } else { + implementation("org.pytorch:executorch-android:1.1.0") + } implementation("com.facebook.fbjni:fbjni:0.5.1") } \ No newline at end of file diff --git a/whisper/android/WhisperApp/app/src/main/AndroidManifest.xml b/whisper/android/WhisperApp/app/src/main/AndroidManifest.xml index 18c54490..32315663 100644 --- a/whisper/android/WhisperApp/app/src/main/AndroidManifest.xml +++ b/whisper/android/WhisperApp/app/src/main/AndroidManifest.xml @@ -1,18 +1,14 @@ - + + android:theme="@android:style/Theme.Material.Light.NoActionBar" + android:extractNativeLibs="true"> + android:theme="@android:style/Theme.Material.Light.NoActionBar"> diff --git a/whisper/android/WhisperApp/app/src/main/res/values/themes.xml b/whisper/android/WhisperApp/app/src/main/res/values/themes.xml deleted file mode 100644 index e4492005..00000000 --- a/whisper/android/WhisperApp/app/src/main/res/values/themes.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - -