Skip to content

fix: Add SDK verification step, temporarily isolate ViewModelsTest #4

fix: Add SDK verification step, temporarily isolate ViewModelsTest

fix: Add SDK verification step, temporarily isolate ViewModelsTest #4

Workflow file for this run

name: Android Build
on:
push:
branches: [main, master]
paths:
- 'android/**'
- '.github/workflows/android-build.yml'
pull_request:
branches: [main, master]
paths:
- 'android/**'
- '.github/workflows/android-build.yml'
workflow_dispatch:
jobs:
lint-and-test:
name: Lint & Unit Tests
runs-on: ubuntu-22.04
defaults:
run:
working-directory: android
env:
ANDROID_HOME: /usr/local/lib/android/sdk
ANDROID_SDK_ROOT: /usr/local/lib/android/sdk
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '17'
- name: Verify Android SDK
run: |
echo "ANDROID_HOME=$ANDROID_HOME"
echo "sdk.dir=$ANDROID_HOME" > local.properties
ls -la $ANDROID_HOME/platforms/ 2>/dev/null || echo "No platforms dir"
ls -la $ANDROID_HOME/build-tools/ 2>/dev/null || echo "No build-tools dir"
# If no platforms, install android-34
if [ ! -d "$ANDROID_HOME/platforms" ]; then
if [ -f "$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" ]; then
yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses
$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "platforms;android-34"
fi
fi
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
gradle-version: 8.7
- name: Run unit tests
run: ./gradlew testDebugUnitTest --info 2>&1 | tail -100
- name: Upload test reports
uses: actions/upload-artifact@v4
if: failure()
with:
name: test-reports
path: android/app/build/reports/tests/
retention-days: 7
build-apk:
name: Build Debug APK
runs-on: ubuntu-22.04
needs: lint-and-test
defaults:
run:
working-directory: android
env:
ANDROID_HOME: /usr/local/lib/android/sdk
ANDROID_SDK_ROOT: /usr/local/lib/android/sdk
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '17'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
gradle-version: 8.7
- name: Assemble debug APK
run: |
echo "sdk.dir=/usr/local/lib/android/sdk" > local.properties
./gradlew assembleDebug
- name: Upload APK artifact
uses: actions/upload-artifact@v4
with:
name: app-debug
path: android/app/build/outputs/apk/debug/app-debug.apk
retention-days: 30