For the complete documentation index, see llms.txt. This page is also available as Markdown.

Platform guides

Set up Maestro Cloud GitHub Actions for Android, iOS, and Flutter.

This guide covers platform-specific configurations for setting up Maestro Cloud GitHub Actions.

To run tests on Android, you generally need to build an ARM compatible APK (typically a debug build) and upload it to Maestro Cloud.

Build command

Use Gradle to assemble your debug APK before the Maestro step.

- uses: actions/setup-java@v3
  with:
    java-version: 11
    distribution: 'temurin'

- run: ./gradlew assembleDebug

Action configuration

Point the app-file to your generated APK.

- uses: mobile-dev-inc/action-maestro-cloud@v2.0.2
  with:
    api-key: ${{ secrets.MAESTRO_API_KEY }}
    project-id: ${{ secrets.MAESTRO_PROJECT_ID }}
    app-file: app/build/outputs/apk/debug/app-debug.apk

The app-file path supports glob patterns. If multiple files match, the first one is used.

ProGuard deobfuscation

If your app uses ProGuard/R8, you should upload the mapping file to deobfuscate performance traces and error logs.

Specifying the Android OS version and device

The default API level on Maestro Cloud is 33 (Android 13). You can override the OS version and the device model using device-os and device-model:

The android-api-level input is deprecated in favor of device-os. Run maestro list-cloud-devices to see all supported Android device models and OS versions.

Complete example for Android

The following code snippet shows a complete GitHub Action to build your Android app and test is using Maestro Cloud.

Next Steps

  • Advanced configuration: Learn how to configure async mode, environment variables, and custom workspaces.

  • Outputs and triggers: Learn how to use action outputs and configure CI triggers.

Last updated