name: maestro
on: [push, pull_request]
jobs:
  ui-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Aktifkan KVM untuk emulator
        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: Install Maestro
        run: |
          curl -Ls "https://get.maestro.mobile.dev" | bash
          echo "$HOME/.maestro/bin" >> "$GITHUB_PATH"
      - name: Unduh APK playground
        run: curl -fsSL -o app.apk "$APK_URL"
        env:
          APK_URL: https://files.aminhamzah.com/apk/laundry-kiloan-latest.apk
      - name: Jalankan suite di emulator
        uses: reactivecircus/android-emulator-runner@v2
        with:
          api-level: 34
          arch: x86_64
          script: |
            adb install -r app.apk
            maestro test .maestro/ --format junit --output report.xml
      - uses: actions/upload-artifact@v4
        if: always()
        with:
          name: maestro-report
          path: |
            report.xml
            ~/.maestro/tests/
