Bytesalt Runpad
CI Integration
Configure your CI

Configure your CI

Prerequisites

Ensure your CI system meets the same prerequisites as running the Bytesalt Runpad desktop app locally. Follow the steps outlined in Prerequisites and Install devices to set up your CI machines accordingly.

Configure Credentials

Expose the following environment variables to the Runpad CLI command to run tests on your project:

  1. RUNPAD_CLIENT_ID
  2. RUNPAD_CLIENT_SECRET
⚠️

Note: Avoid storing these credential values in code or with your pipeline steps. Follow your CI provider's best practices for storing secrets. We recommend using a secret manager such as AWS Secrets Manager (opens in a new tab) or Vault (opens in a new tab). Regardless of the storage method you use, ensure the above environment variables are set when the 2. Runpad: Run tests step is executed.

Add Steps to CI Pipeline

Integrate Runpad into your CI pipeline after generating a .app / .apk simulator build. Follow these steps:

1. Runpad: Install Runpad CLI

curl -fsSL https://downloads.bytesalt.com/runpad-cli-install.sh | bash

2. Runpad: Run tests

runpad run --project-id=YOUR_PROJECT_ID --platform=PLATFORM --device='YOUR_DEVICE_NAME_OR_UDID' --build-path=ABSOLUTE_PATH_TO_YOUR_BUILD

An example of this command:

runpad run --project-id=11eef66b-5678-1d30-a6c4-c313fb420982 --platform=ios --device='iPhone 15 Pro' --build-path=\"$(pwd)/build/Build/Products/Debug-iphonesimulator/automation-sample-app-ios.app\"
💡

Pro tip: You can also update screens of your tests with the CI run similar to this. To do so, pass the --update-screens parameter at the end of the above CLI command.

Upload artifacts

Many CI systems provide the capability to upload artifacts generated in the pipeline. We recommend configuring your CI to upload the following artifact paths generated by Runpad CLI. These artifacts contain the necessary logs to help the Bytesalt team troubleshoot any technical problems when they occur.

$HOME/.runpad/logs/*