Skip to main content

CI/CD Integration

Replay is designed to run in CI/CD pipelines. It has zero runtime dependencies (for HTTP-only workflows) and produces exit codes that integrate naturally with CI systems.

GitHub Actions

Basic E2E Test

With PostgreSQL and Redis

GitLab CI

Post-Deployment Smoke Tests

Run smoke tests after deploying to staging or production:

Docker in CI

Integration with Seedling

Replay and Seedling work together to create reproducible, data-backed E2E tests.

Seed DB with Seedling, Test with Replay

Use Seedling to populate a database with deterministic test data (pass --seed for repeatability), then run Replay workflows against it:
Using the same --seed 42 in every run guarantees identical data sets, which means your Replay assertions stay stable across CI runs.

Local Dev Loop

Pair this with replay run --watch during development for instant feedback on schema changes.

Exit Codes

Replay exits with:
  • 0 — All workflows passed
  • 1 — One or more workflows failed (or validation error)
This means standard CI failure handling works without special configuration.

Best Practices for CI

  • Use --concurrency 4 to speed up multi-workflow runs
  • Use --fail-fast to stop on first failure, saving pipeline time
  • Use --profile to switch between environment configs
  • Pin a specific Replay version in CI (@latest or a specific tag)
  • Place workflows in a tests/ or e2e/ directory for organisation
  • Use deterministic seeds and data to avoid flaky tests

What’s Next?