Skip to main content
Builds are the foundation of everything in Revyl because tests, reports, and app comparisons all depend on having a concrete app version to run against. Builds are stored in an App and can either be built on Revyl’s cloud infrastructure or uploaded from an external source.

Creating an App

Create separate apps for each platform + environment you need: iOS Production, iOS QA, Android Staging. Don’t create a new app for each release, just upload a new build to the existing app.
  1. Click Create app
  2. Enter a name, pick iOS or Android, and optionally add a description
  3. Upload a build

Ways to add builds

Revyl supports four main paths for getting builds into the platform.
  • Add builds manually: Upload an Android APK or iOS app bundle directly from the Revyl UI. Drag in an .apk or .app bundle, name it (e.g. v1.2.0, sprint-42)
  • Import from Expo: Automatically sync your EAS builds directly with Revyl (see Expo Auto Sync).
  • Remote build: Build from source in Revyl’s cloud environment (see Remote Builds).
  • CLI: Upload builds from your terminal or CI pipeline (see CLI).
Supported formats:
  • Android: .apk (or .zip containing .apk)
  • iOS: Simulator .app bundle
Revyl requires simulator or emulator builds to function. See Artifact Requirements and Framework Guides for more details.

Types of Builds

Depending on the framework being used, builds differ in how much of the app and assets are bundled. Frameworks like Expo enable quick iteration via hot-reload by decoupling JS from native modules during local development.
  • For testing: Use a preview or production-like build that bundles the app binary, JS, and all required assets and native modules.
  • For dev loops: Use a dev build that relies on a local dev server (e.g., Metro) for live JS bundling and hot-reload.
See specific Framework Guides for further guidance.
Name apps by platform + environment (for example, iOS Production, iOS QA, Android Staging) so tests and dev workflows target the correct app. Run tests and CI against preview/release builds; reserve dev/debug builds for local dev loops.

Active Build

Every app has one active build that tests run against by default:
  • Latest: the most recent upload, selected automatically
  • Pinned: you manually set a build via Make Current in the build menu
Upload a new build and every test on that app picks it up, unless the test is pinned to a specific version.

App Workspace

Click any app to open its workspace:
  • Builds tab: all uploaded binaries with version, date, package, source, and readiness status
  • Coverage tab: per-test coverage across builds
  • Stability tab: health matrix classifying tests as stable, flaky, or broken
  • Trends tab: pass rate and coverage over time

Expo Auto Sync

Import Expo and EAS builds into Revyl

Remote Builds

Build from source in Revyl’s cloud environment

CLI

Upload builds from the terminal or CI

Builds

Return to the Builds section overview