# Migrating to CI v2

The React Doctor GitHub Action is now v2. For most workflows, upgrading is a version bump, a deeper checkout, and a couple of renamed inputs.

## Bump the Action

```yaml
- uses: actions/checkout@v5
  with:
    fetch-depth: 0
- uses: millionco/react-doctor@v2
```

v2 compares each pull request against its base branch, so check out with `fetch-depth: 0`.

## Inputs that changed

<table>
  <thead>
    <tr>
      <th>v1</th>
      <th>v2</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <code>fail-on</code>
      </td>
      <td>
        <code>blocking</code>
      </td>
    </tr>
    <tr>
      <td>
        <code>annotations</code>
      </td>
      <td>
        <code>review-comments</code>
      </td>
    </tr>
    <tr>
      <td>
        <code>non-blocking: true</code>
      </td>
      <td>
        <code>blocking: none</code>
      </td>
    </tr>
  </tbody>
</table>

`blocking` takes the same values as `fail-on` (`error`, `warning`, and `none`) with the same `error` default, so a straight rename is usually all you need. A new `scope` input chooses between the changed files (`changed`, the default) and the whole project (`full`).

## New defaults and behavior

- `node-version` now defaults to `24` (it was `22`), and `project` defaults to `*`, so every workspace project is scanned.
- On a pull request, the Action reports only the issues your change introduced and posts inline review comments on the changed lines. A new `fixed-issues` output reports how many your change resolved.

See [GitHub Actions setup](/docs/ci-and-prs/github-actions-setup) for the full list of inputs and outputs.
