How to Run Maestro Tests on Every Pull Request without a Device Farm
Your Maestro flows all pass on your laptop.
Then a teammate changes the login screen and opens a pull request. Nobody runs the flows, the change gets merged and the login is now broken. You find out days later or a user finds out first.
Tests that only run when someone remembers to run them won’t catch problems like this.
The fix is to run your flows automatically every time someone opens a pull request. This is called continuous integration (CI). You can do it for free with GitHub Actions on GitHub’s own machines. You don’t need a device farm or an API key. Maestro’s own team runs its tests the same way, on GitHub’s machines.
It does take some setup. GitHub’s machines start empty with no emulator, no simulator and no app, so your workflow has to add them every time. A few things can trip you up along the way:
- Android: if one setting is missing, the emulator may never finish starting.
- iOS: GitHub updates its Macs regularly so a simulator name that worked last month can stop working.
- Choosing tests: a small mistake in one line can make your nightly run skip most of your tests, and everything still shows green.
The full guide shows how to avoid each of these. Every workflow in it was tested on real pull requests including one we broke on purpose to show what you get back when a test fails.
Get Mayvin Ramasawmy’s stories in your inbox
Join Medium for free to get updates from this writer.
Inside the guide:
- 🤖 Two ready-to-use GitHub Actions workflows, one for Android and one for iOS
- ⚡ Quick smoke tests on every pull request and all your tests every night
- ⏱️ Real run times and why iOS took about five times longer than Android
- - 📸 How to get the screenshot that shows why a test failed
- - 🔐 Where to put test data setup and passwords
- - 🧱 What to do when one machine isn’t enough anymore
If your Maestro flows only run on your own machine, this guide shows you how to make your whole team use them. Every workflow, command and run time comes from real runs.
👉 Read the full guide here: https://www.mobile-automation.io/maestro-github-actions-ci/
Stay up to date
If you found this useful, I publish new Appium and mobile testing guides regularly at mobile-automation.io, covering everything from beginner setup to framework design and AI in mobile testing.
📬 Subscribe to get new articles delivered directly to your inbox.
https://www.mobile-automation.io/#/portal/signup/free









