This action runs ruff with reviewdog on pull requests to improve code review experience.
Required. Default is ${{ github.token }}
.
Optional. Report level for reviewdog [info
,warning
,error
].
It's same as -level
flag of reviewdog.
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.
Optional. Filtering mode for the reviewdog command [added
,diff_context
,file
,nofilter
].
Default is added.
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
.
Deprecated, use fail_level
instead.
Optional. Exit code for reviewdog when errors are found [true
,false
]
Default is false
.
Optional. Additional reviewdog flags
Optional. Flags and args of ruff command.
Optional. The directory from which to look for and run eslint. Default '.'
Optional. Whether to only run Ruff on changed files. Defaults to true
.
Default is true
.
This action installs uv and reviewdog for you. It runs ruff with uvx, so there's no need for manual installation.
name: reviewdog
on: [pull_request]
jobs:
ruff:
name: runner / ruff
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/checkout@v4
- uses: benny123tw/action-ruff@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
reporter: github-pr-review # Change reporter.
You can also set up uv and ruff manually like below.
name: reviewdog
on: [pull_request]
jobs:
eslint:
name: runner / eslint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
- name: Set up Python 3.12
run: uv python install 3.12
- run: uv sync --frozen
- uses: benny123tw/action-ruff@v1
with:
reporter: github-check
action-ruff is made possible thanks to the inspirations from the following resources and projects: