v1.0 android #13
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Android Tests | |
on: | |
workflow_dispatch: | |
push: | |
branches: [ main ] | |
paths: | |
- '.github/workflows/android-tests.yml' | |
- 'binding/android/PicoLLM/**' | |
- 'binding/android/PicoLLMTestApp/**' | |
- '!binding/android/PicoLLM/README.md' | |
pull_request: | |
branches: [ main, 'v[0-9]+.[0-9]+'] | |
paths: | |
- '.github/workflows/android-tests.yml' | |
- 'binding/android/PicoLLM/**' | |
- 'binding/android/PicoLLMTestApp/**' | |
- '!binding/android/PicoLLM/README.md' | |
defaults: | |
run: | |
working-directory: binding/android/PicoLLMTestApp | |
jobs: | |
test: | |
name: Run Android Tests | |
runs-on: pv-android | |
steps: | |
- uses: actions/checkout@v3 | |
# ********* remove after release ************* | |
- name: Build binding | |
run: ./gradlew assembleRelease | |
working-directory: binding/android/PicoLLM | |
# ********* remove after release ************* | |
- name: Download resource files | |
run: curl http://${{secrets.PV_CICD_RES_SERVER_AUTHORITY}}/github/picollm/res/phi2-290.bin/latest/phi2-290.bin -o phi2-290.bin | |
- name: Make Android dir | |
run: ~/Android/Sdk/platform-tools/adb shell mkdir -p /sdcard/Android/data/ai.picovoice.picollm.testapp/files/external | |
- name: Copy resource files | |
run: ~/Android/Sdk/platform-tools/adb push --sync phi2-290.bin /sdcard/Android/data/ai.picovoice.picollm.testapp/files/external/phi2-290.bin | |
- name: Inject AccessKey | |
run: echo pvTestingAccessKey="${{secrets.PV_VALID_ACCESS_KEY}}" >> local.properties | |
- name: Inject model name | |
run: echo pvTestingModelName="phi2-290.bin" >> local.properties | |
- name: Inject Android keystore variables | |
run: | | |
echo storePassword="${{secrets.ANDROID_RELEASE_KEYSTORE_PASSWORD}}" >> local.properties | |
echo keyPassword="${{secrets.ANDROID_RELEASE_KEYSTORE_PASSWORD}}" >> local.properties | |
echo keyAlias=picovoice >> local.properties | |
echo storeFile=../picovoice.jks >> local.properties | |
- name: Setup Android keystore file | |
run: echo "${{secrets.ANDROID_RELEASE_KEYSTORE_FILE_B64}}" | base64 -d > picovoice.jks | |
- name: Grant execute permission for gradlew | |
run: chmod +x gradlew | |
- name: Build app | |
run: ./gradlew assembleDebug --info | |
- name: Build androidTest | |
run: ./gradlew assembleDebugAndroidTest --info | |
- name: Run tests | |
run: ./gradlew connectedAndroidTest --info -Pandroid.testInstrumentationRunnerArguments.class=ai.picovoice.picollm.testapp.PicoLLMTest | |
test-integ: | |
name: Run Android Integ Tests | |
runs-on: pv-android | |
steps: | |
- uses: actions/checkout@v3 | |
# ********* remove after release ************* | |
- name: Build binding | |
run: ./gradlew assembleRelease | |
working-directory: binding/android/PicoLLM | |
# ********* remove after release ************* | |
- name: Download resource files | |
run: curl http://${{secrets.PV_CICD_RES_SERVER_AUTHORITY}}/github/picollm/res/phi2-290.bin/latest/phi2-290.bin -o phi2-290.bin | |
- name: Make Android dir | |
run: ~/Android/Sdk/platform-tools/adb shell mkdir -p /sdcard/Android/data/ai.picovoice.picollm.testapp/files/external | |
- name: Copy resource files | |
run: ~/Android/Sdk/platform-tools/adb push --sync phi2-290.bin /sdcard/Android/data/ai.picovoice.picollm.testapp/files/external/phi2-290.bin | |
- name: Inject AccessKey | |
run: echo pvTestingAccessKey="${{secrets.PV_VALID_ACCESS_KEY}}" >> local.properties | |
- name: Inject model name | |
run: echo pvTestingModelName="phi2-290.bin" >> local.properties | |
- name: Inject Android keystore variables | |
run: | | |
echo storePassword="${{secrets.ANDROID_RELEASE_KEYSTORE_PASSWORD}}" >> local.properties | |
echo keyPassword="${{secrets.ANDROID_RELEASE_KEYSTORE_PASSWORD}}" >> local.properties | |
echo keyAlias=picovoice >> local.properties | |
echo storeFile=../picovoice.jks >> local.properties | |
- name: Setup Android keystore file | |
run: echo "${{secrets.ANDROID_RELEASE_KEYSTORE_FILE_B64}}" | base64 -d > picovoice.jks | |
- name: Grant execute permission for gradlew | |
run: chmod +x gradlew | |
- name: Build app | |
run: ./gradlew assembleRelease --info | |
- name: Build androidTest | |
run: ./gradlew assembleReleaseAndroidTest --info | |
- name: Run tests | |
run: ./gradlew connectedAndroidTest --info -Pandroid.testInstrumentationRunnerArguments.class=ai.picovoice.picollm.testapp.IntegrationTest |