name: Maestro # Run this flow only on pull request, and only when the pull request has been approved, to limit our usage of maestro cloud. # https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#running-a-workflow-when-a-pull-request-is-approved on: pull_request_review: types: [submitted] # Enrich gradle.properties for CI/CD env: GRADLE_OPTS: -Dorg.gradle.jvmargs="-Xmx3072m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError" -Dkotlin.daemon.jvm.options="-Xmx2560m" -Dkotlin.incremental=false CI_GRADLE_ARG_PROPERTIES: --stacktrace -PpreDexEnable=false --max-workers 2 --no-daemon jobs: maestro-cloud: name: Maestro test suite runs-on: ubuntu-latest if: github.event.review.state == 'approved' strategy: fail-fast: false # Allow one per PR. concurrency: group: ${{ format('maestro-{0}', github.ref) }} cancel-in-progress: true steps: - uses: actions/checkout@v3 - name: Assemble debug APK run: ./gradlew assembleDebug $CI_GRADLE_ARG_PROPERTIES - uses: mobile-dev-inc/action-maestro-cloud@v1.3.1 with: api-key: ${{ secrets.MAESTRO_CLOUD_API_KEY }} app-file: app/build/outputs/apk/debug/app-universal-debug.apk env: | USERNAME=maestroelement PASSWORD=${{ secrets.MATRIX_MAESTRO_ACCOUNT_PASSWORD }} ROOM_NAME=MyRoom APP_ID=io.element.android.x.debug