Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.mobileboost.io/llms.txt

Use this file to discover all available pages before exploring further.

Use the MobileBoost GitHub Actions to upload a build and run your mobile tests from your CI pipeline:
  • upload-build uploads your iOS or Android build (.zip or .apk).
  • run-tests runs your tests against that build and reports pass or fail.
You do not need to install anything or use GitHub Marketplace. Reference the actions directly from MobileBoostHQ/actions.

Add your credentials

In your repository, go to Settings > Secrets and variables > Actions. In the Secrets tab, create a repository secret:
  • MOBILEBOOST_API_KEY: Your MobileBoost API key, such as mb_live_....
In the Variables tab, create a repository variable:
  • MOBILEBOOST_ORG_ID: Your MobileBoost organization ID.
You can find your API key and organization ID in the MobileBoost dashboard. You can also ask your MobileBoost contact for them.

Add a workflow

Create .github/workflows/mobileboost.yml in your repository:
name: Mobile tests
on:
  push:
    branches: [main]

jobs:
  mobile-tests:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      # Add your existing build steps that produce a .apk or .zip.

      - uses: MobileBoostHQ/actions/upload-build@v1
        id: upload
        with:
          api-key: ${{ secrets.MOBILEBOOST_API_KEY }}
          organisation-id: ${{ vars.MOBILEBOOST_ORG_ID }}
          build-path: app/build/outputs/apk/release/*.apk

      - uses: MobileBoostHQ/actions/run-tests@v1
        with:
          api-key: ${{ secrets.MOBILEBOOST_API_KEY }}
          organisation-id: ${{ vars.MOBILEBOOST_ORG_ID }}
          build-id: ${{ steps.upload.outputs.build-id }}
          tags: smoke
On each push, this workflow uploads your build, runs the tests tagged smoke, waits for them to finish, and fails the job if any test fails. The run summary includes a result table and recording links.

Key inputs

upload-build

InputRequiredDescription
api-keyYesYour API key. Use the repository secret.
organisation-idYesYour organization ID.
build-pathYesPath to a .zip or .apk, a directory that is zipped automatically, or a glob where the first match is used.
Outputs:
  • build-id: Pass this to run-tests.
  • app-link: Dashboard URL.

run-tests

InputRequiredDescription
api-keyYesYour API key. Use the repository secret.
organisation-idYesYour organization ID.
build-idYesThe build-id from the upload-build step output.
tagsOne of tags or test-idsComma-separated tags. Runs tests matching any tag.
test-idsOne of tags or test-idsComma-separated test IDs. Takes precedence over tags.
asyncNoSet to true to trigger the run without waiting. Defaults to false.
timeout-minutesNoMaximum wait time in sync mode. Defaults to 60.
fail-on-test-failureNoSet to false to report results without failing the job. Defaults to true.
Provide at least one of tags or test-ids. If both are provided, test-ids takes precedence.

Common variations

Run specific tests with a shorter wait

- uses: MobileBoostHQ/actions/run-tests@v1
  with:
    api-key: ${{ secrets.MOBILEBOOST_API_KEY }}
    organisation-id: ${{ vars.MOBILEBOOST_ORG_ID }}
    build-id: ${{ steps.upload.outputs.build-id }}
    test-ids: t_abc123,t_def456
    timeout-minutes: 30

Trigger and inspect later

Set async to true to trigger the run without waiting for it to finish.
async: true

Report results without failing the job

Set fail-on-test-failure to false.
fail-on-test-failure: false

Run only on a merged pull request

Change the workflow trigger:
on:
  pull_request:
    types: [closed]
jobs:
  mobile-tests:
    if: github.event.pull_request.merged == true
    runs-on: ubuntu-latest
    # Use the same steps as above.

Pin the version

  • @v1: Recommended. Automatically gets the latest v1.x.x release with bug fixes and no breaking changes.
  • @v1.2.3: Pins to an exact version for full reproducibility.
  • @main: Tracks the latest commit. This may include breaking changes, so it is not recommended for production.

Troubleshooting

SymptomFix
Invalid API key (401)Check that MOBILEBOOST_API_KEY is set and uses your mb_live_... key.
No file or directory matched build-pathMake sure your build step ran and the path or glob is correct.
Unsupported build fileOnly .zip and .apk files are supported.
Run did not finish within the timeoutIncrease timeout-minutes, or use async: true. The run continues in MobileBoost.
Job fails with N failed, M blockedTests failed. Open the dashboard link in the run summary to view recordings.
Behind a corporate proxy, the actions honor HTTPS_PROXY, HTTP_PROXY, and NO_PROXY. They also support custom CA bundles via NODE_EXTRA_CA_CERTS. Questions or issues? Contact your MobileBoost representative.