Skip to content

reviewdog/action-eslint

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date
Mar 18, 2025
Jul 8, 2023
Jul 25, 2024
May 7, 2021
Oct 20, 2020
Sep 23, 2019
Dec 14, 2019
Mar 18, 2025
Dec 2, 2024
Jul 24, 2024
Jul 24, 2024
Mar 18, 2025

Repository files navigation

GitHub Action: Run eslint with reviewdog

depup release GitHub release (latest SemVer) action-bumpr supported Used-by counter

This action runs eslint with reviewdog on pull requests to improve code review experience.

github-pr-check sample eslint reviewdog rdjson demo

Inputs

github_token

Required. Default is ${{ github.token }}.

level

Optional. Report level for reviewdog [info,warning,error]. It's same as -level flag of reviewdog.

reporter

Reporter of reviewdog command [github-pr-check,github-check,github-pr-review]. Default is github-pr-review. It's same as -reporter flag of reviewdog.

github-pr-review can use Markdown and add a link to rule page in reviewdog reports.

filter_mode

Optional. Filtering mode for the reviewdog command [added,diff_context,file,nofilter]. Default is added.

fail_level

Optional. If set to none, always use exit code 0 for reviewdog. Otherwise, exit code 1 for reviewdog if it finds at least 1 issue with severity greater than or equal to the given level. Possible values: [none, any, info, warning, error] Default is none.

fail_on_error

Deprecated, use fail_level instead. Optional. Exit code for reviewdog when errors are found [true,false] Default is false.

reviewdog_flags

Optional. Additional reviewdog flags

eslint_flags

Optional. Flags and args of eslint command. Default: '.'

workdir

Optional. The directory from which to look for and run eslint. Default '.'

node_options

Optional. The NODE_OPTIONS environment variable to use with eslint. Default is ''.

Example usage

You also need to install eslint.

# Example
$ npm install eslint -D

You can create eslint config and this action uses that config too.

name: reviewdog
on: [pull_request]
jobs:
  eslint:
    name: runner / eslint
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write
    steps:
      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
      - uses: reviewdog/action-eslint@2fee6dd72a5419ff4113f694e2068d2a03bb35dd # v1.33.2
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          reporter: github-pr-review # Change reporter.
          eslint_flags: "src/"

You can also set up node and eslint manually like below.

name: reviewdog
on: [pull_request]
jobs:
  eslint:
    name: runner / eslint
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
      - uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0
        with:
          node-version: "20"
      - run: yarn install
      - uses: reviewdog/action-eslint@2fee6dd72a5419ff4113f694e2068d2a03bb35dd # v1.33.2
        with:
          reporter: github-check
          eslint_flags: "src/"