Awesome
GitHub Action: Run eslint with reviewdog
This action runs eslint with reviewdog on pull requests to improve code review experience.
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.
.github/workflows/reviewdog.yml
name: reviewdog
on: [pull_request]
jobs:
eslint:
name: runner / eslint
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/checkout@v4
- uses: reviewdog/action-eslint@v1
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@v4
- uses: actions/setup-node@v4
with:
node-version: "20"
- run: yarn install
- uses: reviewdog/action-eslint@v1
with:
reporter: github-check
eslint_flags: "src/"