Checks on commits

Read each run as a check on the commit, and require it before merging.

Each run a rule starts reports as a check on the commit in GitHub. The check follows the run from queued to finished and links to the run in Rehearsal.

The check's name Link to The check's name

  • A pull request rule reports as Rehearsal.
  • A branch or pattern rule adds its branch, such as Rehearsal · main or Rehearsal · release/*.

The name comes from the rule, so you can require it by name in GitHub. A branch rule that moves to another branch reports under the new name.

What a check says Link to What a check says

The runThe check's titleConclusion
Passed2 tests passedsuccess
A test failed1 of 2 tests failed: Check out a cartfailure
A test needs reviewThe page changed. Someone needs to accept it.failure
Tests could not run1 of 2 tests could not run, or the reasonaction_required
CancelledThis run was cancelledcancelled
Rehearsal could not run itCould not run these tests. You were not charged.action_required

Only a passing run ends as success. A run that could not finish never counts as a pass, so a required check stays blocked.

Below the title, the check says what to do next and which address it tested. Then it lists each test with its result and time, and links to the run:

Output
Open the run to see where each test stopped.Tested https://parcel-git-fix-cart.vercel.appTest                   Result   TimeCheck out a cart       Failed   22sApply a discount code  Passed   17sSee the run
ResultWhat it means
PassedThe test passed.
FailedThe test stopped at a step. The run shows which one and what the page showed.
Page changedThe page changed under the test. Someone with access accepts the change, then runs the tests again.
Could not runThe test was blocked before it could finish.
CancelledThe run stopped before this test finished.
Not readyThe test was not ready when the run started, so it was not checked.

See the run opens the run in Rehearsal, where you can watch the recording. It needs a Rehearsal sign-in. The check carries no other link.

A check with a fixed address adds that it could not verify the deployed commit. A check can also end before any test runs. Preview deployments lists those endings.

Runs we could not finish Link to Runs we could not finish

Sometimes a run stops because of a problem on our side. Its check ends as action_required and says you were not charged. The run does not count towards your plan. Re-run the check when you are ready.

See Runs we could not finish.

Run a check again Link to Run a check again

Re-run a Rehearsal check in GitHub, and Rehearsal runs the same tests again on the same commit, at the same versions and address. The new run gets a check of its own.

  • The earlier run has to be finished. A check still waiting for a deployment has nothing to run again.
  • Re-running every check on a commit runs each Rehearsal check on it again.
  • A new run counts towards your plan, like any other run.

Require the check before merging Link to Require the check before merging

  1. Step 1: Ask for it in the rule

    In a pull request rule, turn on Require passing tests before merging and save the rule.

  2. Step 2: Require the check in GitHub

    • Open the repository's settings in GitHub.
    • Open Rules and choose the rule for your target branch.
    • Require status checks and add Rehearsal.
  3. Step 3: Let Rehearsal read it back

    In the rule, press Check now. Rehearsal reads GitHub's rules for the branch. When GitHub requires the check, the rule says GitHub requires the Rehearsal check.

Until Rehearsal has read it, the rule says Merging is not blocked yet. The rule's sentence only mentions merging once GitHub confirms it.

A GitHub rule that ties the check to a different app does not count.

Every check in Rehearsal Link to Every check in Rehearsal

Deployments in the sidebar lists the runs your rules started, grouped by pull request and by branch. A pull request still waiting for its preview reads Waiting for a deployment. Each run's menu has Open the check on GitHub.

Next steps Link to Next steps

  • Test each pull request's Vercel preview.
  • Run the same tests from your terminal with the CLI.