Baseline Builds

How Vera CI selects reference screenshots for visual comparisons.

What is a baseline?

A baseline is the set of approved screenshots that new runs are compared against. When you push a new run, Vera CI finds the most recent approved baseline for each snapshot name and runs a pixel-level diff to detect visual changes.

How baselines are selected

Vera CI selects a baseline by finding the most recent run on the reference branch that meets these criteria:

  • Same project
  • On the baseline branch (typically your default branch)
  • Has been approved (either auto-approved or manually approved)
  • Contains snapshots with matching names

Baseline branch

The baseline branch depends on context:

  • Pull requests. The PR's base branch (e.g. main)
  • Push events. Your project's configured default branch

By default, your repository's default branch is used. You can change this in your project settings.

Auto-approved branches

Runs on your default branch (e.g. main) are automatically approved. This means merging a PR immediately creates a new baseline for future comparisons.

You can configure additional auto-approved branches (like develop or staging) in your project settings.

Orphan builds

When no baseline exists for a snapshot, the run is marked as an orphan build. This is normal for:

  • The first run in a new project
  • New snapshot names that have never been captured before
  • Branches created before any baselines were established

Tip

To resolve orphan builds, run your tests on your default branch first. Once that run is auto-approved, it becomes the baseline for all future PR builds.