Skip to main content
Patterns for getting your app binary into Revyl from any CI system.

Pattern 1: Upload from a URL (simplest)

If your build system produces a downloadable artifact URL (EAS, Bitrise, AppCenter, S3, GCS, GitHub Actions artifacts) then you can skip the local download entirely. The Revyl backend downloads the artifact from the URL, validates, and stores the artifact server-side using this command:
For authenticated URLs:

Pattern 2: Revyl CLI in GitHub Actions

Use the CLI after your workflow builds the app. In GitHub Actions, pass the PR head SHA as the build version so Revyl can match the artifact back to the pull request.

Pattern 3: Build on CI, Upload File

Build on the runner and upload the artifact directly:

iOS on macOS runners

GitHub Actions includes macOS runners on all paid plans.

Android on Linux runners

Pattern 4: EAS Cloud + URL Upload (no Mac, no local build)

For Expo teams, delegate the build to EAS and just ingest the result:
Zero Mac needed on the customer side. Expo’s cloud does the build, Revyl just ingests the artifact.

Pattern 5: revyl build (config-driven)

If .revyl/config.yaml has build commands configured, the CLI can build and upload in one step:
This runs build.platforms.ios.commands in order when configured, otherwise build.platforms.ios.command, then uploads the output artifact.

CI-Friendly Flags

Next Steps