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_on_error
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@v2
- 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@v2
- uses: actions/setup-node@v2
with:
node-version: '14'
- run: yarn install
- uses: reviewdog/action-eslint@v1
with:
reporter: github-check
eslint_flags: 'src/'