- Create preview builds for pull requests and post links to runnable preview sessions.
- Run proof checks that open the new build, exercise the change, and report what happened.
- Run saved workflows automatically against the pull request build.
Connect GitHub
From the terminal, one command connects GitHub, scaffolds the config, and applies it:| Command | What it does |
|---|---|
revyl github connect | Opens the GitHub App install page in your browser and waits for the installation to become active. Already installed → no-op. |
revyl github status | Shows connection status and repo access. |
revyl github init | Detects your build setup and scaffolds a pr_review block in .revyl/config.yaml. Use --framework expo_ios etc. to pick explicitly. |
revyl github push | Uploads your local .revyl/config.yaml and applies its pr_review block immediately — no commit or merge required. |
revyl github setup command so you can hand off to the CLI at any point.
Configure PR previews
At minimum, each enabled platform needs a Revyl app, a build command, and an artifact path. You can configure these in the dashboard, throughrevyl github setup, or as code in a pr_review block.
When configured as code, Revyl reads the first matching file, in order:
.revyl/config.yaml, .revyl/config.yml, revyl.yml, revyl.yaml. Only the
pr_review section is used by the GitHub integration; other sections such as
build or hotreload are safe to keep in the same file.
How the config gets applied
- On a PR that touches the file: Revyl previews the parsed config in a PR comment so you can review the change before it takes effect.
- On the default branch: the file becomes the source of truth. The repo’s
settings page shows Managed by
.revyl/config.yamland the UI controls become read-only. - Removing the block (or the file) reverts the repo to UI-managed. The last applied policy is preserved and stays editable in the UI.
revyl github push applies your local file
without waiting for a merge.
Example
Proof of changes
Turn on proof checks when you want Revyl to exercise the pull request build and report whether the change behaves as expected:Run workflows
Add workflow IDs when you want existing Revyl workflows to run automatically against the pull request build:Top-level fields
| Field | Default | Description |
|---|---|---|
enabled | true | Turns PR automation on. Automation only runs when at least one preview build is configured and all referenced secrets exist. |
preset | derived | Optional preset for common action combinations. |
skip_drafts | true | Wait until a draft PR is marked ready for review. |
path_filters | [] | Only run when the PR touches a matching glob (e.g. apps/mobile/**). |
label_filters | [] | Only run when the PR carries a matching label. |
actions | — | What Revyl posts and runs on the PR. |
builds | — | Per-platform preview builds. |
Actions
| Field | Default | Description |
|---|---|---|
preview_link | true | Post a link to a running preview session built from the PR. |
proof_of_changes | false | Have the agent exercise the build, verify the change, and attach screenshots as evidence. |
checks | [] | Natural-language assertions verified on the preview build during proof runs. |
system_prompt | "" | Extra guidance prepended to proof-of-changes runs. |
workflows | [] | Saved Revyl workflow IDs to run against the preview build. |
Builds
Declare a preview build per platform underbuilds.ios / builds.android.
Preview builds run on the same runners as remote builds.
| Field | Default | Description |
|---|---|---|
enabled | true | Turn this platform’s preview build on. |
framework | by platform | One of expo_ios, expo_android, react_native_ios, react_native_android, native_ios, native_android. Naming a framework gives you a runnable default build_command and artifact_path. |
app | — | Revyl app name or ID the builds belong to. Revyl resolves or creates it per platform. |
root_dir | repo root | Source subdirectory the build runs in (monorepos). |
image | platform default | Toolchain image key to build on. |
build_command | framework default | Build command(s), newline-separated for multiple steps. |
artifact_path | framework default | Glob to the built artifact. |
use_existing_ci | false | Skip Revyl-managed builds and wait for your CI to provide the build instead. |
env | [] | Org secret names (never values) the build needs. |
- iOS artifacts must be simulator
.appbundles; Android artifacts must be installable.apkfiles (not.aab). See artifact requirements. envlists secret names only. The secrets must already exist in Revyl (add them under Settings) — missing secrets are reported on the PR instead of running with gaps.- Only declare platforms your repo actually builds.
Generate with AI
In the GitHub setup flow, Generate with AI has your coding agent inspect the repo and write thepr_review block. It produces the same schema
documented here.
Use your own CI
Revyl can run the build for you, but it does not have to. If your team already has custom CI, private dependency setup, or a specialized build pipeline, use your own CI as the build step and still keep GitHub previews, proof checks, and workflow runs. There are two common patterns:- Trigger a Revyl remote build from CI when you want Revyl runners but need CI-specific setup or environment variables.
- Upload a finished artifact from CI when your pipeline already produces
the
.appor.apk.
use_existing_ci: true for the target in your
pr_review config or choosing Use your own CI in the dashboard. Revyl will
wait for your CI-provided build, then use it for the same preview links, proof
checks, and workflow runs.
See Building in CI
for more upload examples.
Related
- Remote Builds — the build runners behind PR previews
- Apps — where preview builds are registered
- Workflows — build the workflow IDs referenced by
actions.workflows