fix: Add SDK verification step, temporarily isolate ViewModelsTest #4
This file contains hidden or 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 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 |