Skip to content

Latest commit

 

History

History
120 lines (90 loc) · 2.92 KB

File metadata and controls

120 lines (90 loc) · 2.92 KB

CI/CD Integration

Back to README | Commands | Configuration

GitHub Actions

The official GitHub Action supports test runs, workflow runs, and build uploads:

name: Revyl Tests

on:
  pull_request:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - name: Run Revyl Test
        uses: RevylAI/revyl-gh-action/run-test@main
        with:
          test-id: "your-test-id"
        env:
          REVYL_API_KEY: ${{ secrets.REVYL_API_KEY }}

Run a workflow (recommended for CI)

Workflows run multiple tests and provide richer status reporting:

- name: Run Revyl Workflow
  uses: RevylAI/revyl-gh-action/run-workflow@main
  with:
    workflow-id: "your-workflow-id"
    retries: 2
  env:
    REVYL_API_KEY: ${{ secrets.REVYL_API_KEY }}

Build-to-test pipeline

Upload a build and test it in the same workflow:

- name: Upload Build
  id: upload
  uses: RevylAI/revyl-gh-action/upload-build@main
  with:
    build-var-id: ${{ vars.BUILD_VAR_ID }}
    version: ${{ github.sha }}
    file-path: ./build/app.apk
  env:
    REVYL_API_KEY: ${{ secrets.REVYL_API_KEY }}

- name: Run Workflow on New Build
  uses: RevylAI/revyl-gh-action/run-workflow@main
  with:
    workflow-id: ${{ vars.WORKFLOW_ID }}
    build-version-id: ${{ steps.upload.outputs.version-id }}
  env:
    REVYL_API_KEY: ${{ secrets.REVYL_API_KEY }}

CLI in CI

You can also run the CLI directly in CI without the GitHub Action. The CLI binary downloads automatically on first use — no additional setup step is required.

pip install revyl
export REVYL_API_KEY=${{ secrets.REVYL_API_KEY }}

revyl test run login-flow --no-wait --json    # Queue and exit immediately
revyl workflow run smoke-tests --no-wait      # Queue a workflow

Build upload from CI

revyl build upload --platform ios --skip-build --yes    # Upload pre-built artifact
revyl build upload --platform android --yes             # Build and upload

Full pipeline example

# 1) Upload the build
revyl build upload --platform ios --skip-build --yes

# 2) Run tests
revyl workflow run smoke-tests --json

# 3) Get results
revyl workflow report smoke-tests --json

CI-friendly flags

Flag Effect
--json Machine-readable JSON output
--no-wait Queue the run and exit without waiting for results
--quiet / -q Suppress non-essential output
--yes Skip interactive confirmations

Environment Variables

Variable Description
REVYL_API_KEY API key for authentication (required in CI)
REVYL_BACKEND_URL Override the backend URL (for staging/preview environments)
REVYL_APP_URL Override the frontend app URL
REVYL_PROJECT_DIR Override the project directory for MCP

Note: there is no REVYL_DEBUG environment variable. Use the --debug CLI flag instead.