Expo now supports Maestro Cloud testing in your CI workflow
Key Points
- Run Maestro Cloud tests inside EAS workflows
- No separate GitHub Actions or CI glue required
- Parallel real-device runs and results dashboard (paid)
Summary
Expo added a Maestro Cloud job type for EAS Workflows so you can run Maestro Cloud end-to-end tests inside the same workflow that builds your app. This removes separate CI glue (e.g., a parallel GitHub Action) and lets you push builds and test flows to Maestro Cloud, consume results, and use parallel device execution and dashboards for larger test suites.
Key Points
- Run Maestro Cloud directly in EAS workflows: add a
maestro_cloudjob after your build and pass the build ID to run tests on the exact artifact you built. - Typical params:
build_id: ${{ needs.build_job.outputs.build_id }},flows: '.maestro/smoke.yaml', andmaestro_project_id(API key can be provided viaMAESTRO_CLOUD_API_KEYenv var). - Prefer release builds for representative E2E tests (e.g.,
npx expo run:android --variant release). - Maestro Cloud is a paid service offering parallel device runs and a results dashboard; the standard Maestro integration is bundled with EAS and may be preferable for smaller or free-tier projects.
- You can manually trigger and iterate locally with
npx eas-cli@latest workflow:run .eas/workflows/e2e-test-android.yaml.
Quick Setup (practical steps)
- Initialize:
npx eas-cli@latest initand configureeas.jsonwith an E2E profile. - Create a Maestro flow in
.maestro/smoke.yaml(simple smoke test is enough to start). - Add an EAS workflow: build job ->
maestro_cloudjob that consumes the build output and references your flows and project ID.
Recommendation
Use Maestro Cloud when you need faster, parallel, production-like test runs and a centralized dashboard for scaling tests; keep using the standard Maestro integration for low-cost or small-scale needs.