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:
RUNPAD_CLIENT_ID
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/*