81 lines
2.1 KiB
YAML
81 lines
2.1 KiB
YAML
name: CI (android)
|
|
|
|
on:
|
|
workflow_dispatch: # allows manual triggering
|
|
push:
|
|
branches:
|
|
- master
|
|
paths: ['.github/workflows/build-android.yml',
|
|
'**/CMakeLists.txt',
|
|
'**/*.h',
|
|
'**/*.hpp',
|
|
'**/*.c',
|
|
'**/*.cpp',
|
|
'**/*.java']
|
|
|
|
pull_request:
|
|
types: [opened, synchronize, reopened]
|
|
paths-ignore:
|
|
- 'bindings/ruby/**' # handled by bindings-ruby.yml
|
|
- 'bindings/go/**' # handled by bindings-go.yml
|
|
- 'examples/addon.node/**' # handled by examples.yml
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
android:
|
|
runs-on: ubuntu-22.04
|
|
|
|
steps:
|
|
- name: Clone
|
|
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
|
with:
|
|
path: whisper
|
|
|
|
- name: Install Java
|
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
|
|
with:
|
|
distribution: zulu
|
|
java-version: 21
|
|
|
|
- name: Setup Android SDK
|
|
uses: android-actions/setup-android@40fd30fb8d7440372e1316f5d1809ec01dcd3699 # v4.0.1
|
|
|
|
- name: Build
|
|
run: |
|
|
cd whisper/examples/whisper.android
|
|
./gradlew assembleRelease --no-daemon
|
|
|
|
- name: Build with external ggml
|
|
run: |
|
|
export PATH_TO_GGML=$PWD/ggml
|
|
cd whisper/examples/whisper.android
|
|
./gradlew assembleRelease --no-daemon
|
|
|
|
android_java:
|
|
runs-on: ubuntu-22.04
|
|
|
|
steps:
|
|
- name: Clone
|
|
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
|
|
|
- name: set up JDK 11
|
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
|
|
with:
|
|
java-version: '11'
|
|
distribution: 'temurin'
|
|
cache: gradle
|
|
|
|
- name: Setup Android SDK
|
|
uses: android-actions/setup-android@40fd30fb8d7440372e1316f5d1809ec01dcd3699 # v4.0.1
|
|
with:
|
|
cmdline-tools-version: 9.0
|
|
|
|
- name: Build
|
|
run: |
|
|
cd examples/whisper.android.java
|
|
chmod +x ./gradlew
|
|
./gradlew assembleRelease
|