GitHub Actions
GitHub Actions is the recommended way to run mobile tests automatically.
You only need to provide a simulator build and your TesterArmy credentials. TesterArmy handles the cloud simulator setup, app installation, test execution, and run orchestration for you, so you do not need to manage simulators in your CI pipeline.
Before you set it up, make sure you have already:
- built and uploaded a simulator app,
- created at least one mobile test in TesterArmy,
- run that test manually once,
- added the test to a group with a webhook.
If you want a working reference, see the mobile GitHub Action and the mobile example app.
What you need
Add these GitHub secrets to your repository:
You can find webhook details in Group Webhooks.
Recommended workflow
The most reliable setup is:
- Build the iOS Simulator app on a macOS runner.
- Upload the
.appbundle as a GitHub artifact. - Download that artifact on Linux.
- Run
tester-army/mobile-github-actionto upload the app, trigger the webhook, wait for results, and clean up.
Info: No manual upload step in CI
The GitHub Action accepts either a
.appdirectory or an archived app file. If you pass a.appdirectory, the action zips and uploads it for you.
What the action does
tester-army/mobile-github-action handles the full CI flow for you:
- Uploads the app to TesterArmy.
- Provisions the cloud simulator environment and installs the app for the run.
- Triggers your mobile test group webhook and orchestrates the run lifecycle.
- Polls until the runs finish or the timeout is reached.
- Deletes the uploaded app after the run if cleanup is enabled.
Results are written to the GitHub step summary so you can quickly see pass/fail status, duration, issues, and screenshots.
Important options
Outputs
The action exposes these outputs:
app_id— the uploaded TesterArmy app IDrun_ids— a JSON array of created run IDsoverall_status—passed,failed, ortimed_out
You can use overall_status in later workflow steps if you want custom reporting or notifications.
Troubleshooting
The app upload fails immediately
Make sure you are building for iOS Simulator and passing a .app, .app.zip, or .app.tar.gz file. An .ipa will not work.
The action cannot find your build
Double-check the .app path inside the build job. The most common output path is:
The workflow starts but no tests run
Make sure your TESTERARMY_WEBHOOK_URL points to a group that already contains mobile tests.
The workflow times out
Increase timeout_seconds for slower builds or longer test suites. The default is 30 minutes.
Related docs
- App Uploads
- API Reference tab
- Group Webhooks

