Skip to content

Review lifecycle ​

Statuses ​

The status of a review is shown as a badge in the dashboard, on the reviews list and on the review detail page.

BadgeMeaningTerminal
QueuedAccepted, not started yetno
Preparing…Reading the pull request's filesno
Reviewing…Files are being reviewed; findings appear as they arriveno
CompletedThe review finished, and was posted unless you turned posting offyes
FailedThe review stopped before it could be postedyes
CancelledThe review was stopped before it finishedyes

You can filter the reviews list by any of these.

A pull request whose files were all skipped still ends as Completed — there was nothing to review. The review body is headed Nothing to review in that case; see When everything is excluded.

When a review fails ​

A failed review posts no inline comments. Whatever it managed to read stays readable in the dashboard, and the pull request gets a single status comment instead:

text
## EasyMerge review

⚠️ **Review could not be completed**

EasyMerge encountered an unexpected error while reviewing this pull request.
No findings were posted, so this result should not be treated as a clean review.

---
View review details in EasyMerge →

A later failed review on the same pull request edits that comment rather than adding another one.

The review detail page is where you see how far it got:

  • if nothing was read, the page shows No results for this review. under the heading Review failed, with the message The review failed before any file could be analyzed. Nothing was posted to the pull request.;
  • if some files were read first, the heading is Review didn't finish and the message counts them — Reviewed 7 of 12 files before the run failed. The findings below are partial and were not posted to the pull request — retry to review the remaining files.

Push a commit to run a fresh review.

The check run ​

EasyMerge maintains one check run named EasyMerge Review on the head commit:

Review statusCheck runTitle
Queuedqueued—
Preparing…, Reviewing…in progress—
CompletedsuccessReview completed
FailedfailureReview failed
CancelledcancelledReview cancelled

An event EasyMerge did not review gets its own check run, completed as neutral and titled Review skipped. Its summary names the reason:

SummaryCause
EasyMerge review is disabled for this repository.Enable AI review is off
This pull request is a draft; the repository is configured to skip draft PRs.Skip draft pull requests is on
This repository is configured to not auto-review this pull request action.The action is not ticked under Trigger on PR events

No review is created for a skip, so nothing appears in the dashboard for it. A skip is not a failure; the next event that does qualify is reviewed normally.

The check run never blocks a merge unless you add it to your branch protection rules yourself.

With Post review on GitHub turned off there is no check run at all — not a skipped one either. The review still runs and its findings are readable in the dashboard; the pull request simply never hears about it.

What triggers a review ​

A review starts when GitHub reports a pull request as opened or synchronize (a new commit was pushed to the branch). reopened is available too, but is off by default — tick it under Trigger on PR events.

Marking a draft pull request Ready for review also starts one, whichever events you have ticked. That is the event that picks up a pull request skipped while it was a draft.

Nothing else triggers a review. There is no manual "review now" action, and editing a PR title or description does not start one — though both are read by the reviewer, so an edit does change the next review.

The same commit is not reviewed twice ​

A review covers one commit. If an event arrives for a commit that already has a review, no second review is created and nothing is posted again — reopening a pull request you have not pushed to is the usual way to meet this. Push a commit to get a fresh review.

The exception is a review that failed or was cancelled: an event for that same commit does start a new attempt.

Cancellation ​

Three things cancel a review that is still running. Each marks it Cancelled, stops the work, and names the reason — on the review detail page, and in the Review cancelled check run's summary:

CauseReason given
You pushed a new commitA newer commit replaced this review.
You closed or merged the pull requestThe pull request was closed before the review finished. — or merged, on the check run
The branch you are merging into moved while the diff was being readThe pull request's base changed while the diff was being read, so this review no longer matches it. Push a new commit or re-trigger to review again.

Pushing while a review is in flight is the common one: the review of the older commit is abandoned rather than finished, so you are never sent comments about code you have already replaced. The same push starts the review of the new commit.

Closing or merging means you will not get comments on a pull request you have already merged.

Reopening starts a fresh review only if you have ticked reopened under Trigger on PR events — and only because the cancelled review makes the commit eligible again. Pushing a commit after reopening always starts one.