CI/CD Pipeline Guide
Run Revyl tests automatically on every pull request. This guide covers GitHub Actions setup, build-to-test pipelines, and integrating test results into your workflow.Prerequisites
- Revyl account with an API key
- App and tests already created (see First Test Guide)
Step 1: Store your API key
AddREVYL_API_KEY as a repository secret in GitHub:
Settings → Secrets and variables → Actions → New repository secret
Name: REVYL_API_KEY
Value: your API key from Account → API Keys
Step 2: Basic workflow
Run a test workflow on every PR:0 on pass, 1 on failure — standard for CI.
Step 3: Build → Upload → Test pipeline
Build your app, upload it, and run the full test suite:revyl run <workflow> -w builds your app, uploads the artifact, and runs all tests in the workflow. Use --no-build to skip the build step and run against the latest uploaded build.
Using the GitHub Action
Revyl provides a dedicated GitHub Action for common operations:Run a workflow
Upload a build
Run a single test
JSON output for scripting
Use--json to get structured output for downstream processing:
Async execution
Use--no-wait to queue the test and continue without blocking:
Retries
Retry failed tests automatically:TestFlight from CI
Publish iOS builds to TestFlight after tests pass:Push tests from CI
Keep remote tests in sync with your repo after merge:Environment variables
| Variable | Description |
|---|---|
REVYL_API_KEY | API key (required) |
REVYL_BACKEND_URL | Override backend URL |
REVYL_ASC_KEY_ID | App Store Connect key ID |
REVYL_ASC_ISSUER_ID | App Store Connect issuer ID |
REVYL_ASC_PRIVATE_KEY_PATH | Path to ASC .p8 private key |
REVYL_ASC_PRIVATE_KEY | Raw ASC private key content |
REVYL_ASC_APP_ID | App Store Connect app ID |
REVYL_TESTFLIGHT_GROUPS | Comma-separated TestFlight groups |
What’s Next
- GitHub Actions Reference — detailed action configuration
- Running Tests — CLI test execution reference
- Advanced Tests — scripts, modules, and control flow