Skip to content

FWK testing - Android #26

FWK testing - Android

FWK testing - Android #26

Workflow file for this run

name: Android Instrumentation Tests
on: [push, pull_request]
jobs:
instrumented-tests:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout source
uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 17
cache: gradle
- name: Set up Android SDK
uses: android-actions/setup-android@v3
# Manually install latest cmdline-tools to fix SDK Manager XML issue
- name: Install Latest cmdline-tools
run: |
sudo mkdir -p $ANDROID_SDK_ROOT/cmdline-tools/latest
sudo curl -fsSL https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip -o cmdline-tools.zip
sudo unzip cmdline-tools.zip -d $ANDROID_SDK_ROOT/cmdline-tools/latest/
sudo rm cmdline-tools.zip
echo "export PATH=$ANDROID_SDK_ROOT/cmdline-tools/latest/bin:$PATH" >> $GITHUB_ENV
# Accept SDK licenses (fixes "sdkmanager: command not found" issue)
- name: Accept Android SDK Licenses
run: yes | sdkmanager --licenses
# Enable KVM for faster emulation
- name: Enable KVM for Hardware Acceleration
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
- name: Generate Gradle Wrapper (if missing)
run: gradle wrapper
working-directory: Android # Ensure working in correct directory
- name: Grant execute permission for Gradle wrapper
run: chmod +x Android/gradlew
# Launch emulator and run tests
- name: Run Android Instrumented Tests
uses: ReactiveCircus/android-emulator-runner@v2
with:
api-level: 30
target: google_apis
arch: x86_64
profile: Nexus 6
disable-animations: true
emulator-options: >
-no-window -gpu swiftshader_indirect -no-snapshot -noaudio -no-boot-anim
-camera-back none -camera-front none
script: |
echo "Waiting for emulator to be online..."
adb wait-for-device
adb shell "while [[ -z \$(getprop sys.boot_completed) ]]; do sleep 1; done"
echo "Device is ready, running tests..."
./gradlew connectedCheck --stacktrace
working-directory: Android

Check failure on line 69 in .github/workflows/android-test.yml

View workflow run for this annotation

GitHub Actions / Android Instrumentation Tests

Invalid workflow file

The workflow is not valid. .github/workflows/android-test.yml (Line: 69, Col: 9): Unexpected value 'working-directory'
# Upload test reports for debugging
- name: Upload Test Reports
if: always()
uses: actions/upload-artifact@v4
with:
name: test-reports
path: Android/app/build/reports/