GitHub Action
Run rubocop with reviewdog
This action runs rubocop with reviewdog on pull requests to improve code review experience.
By default, with reporter: github-pr-check
an annotation is added to the line:
With reporter: github-pr-review
a comment is added to the Pull Request Conversation:
GITHUB_TOKEN
. Default is ${{ github.token }}
.
Optional. Set rubocop version. Possible values:
- empty or omit: install latest version
gemfile
: install version from Gemfile (Gemfile.lock
should be presented, otherwise it will fallback to latest bundler version)- version (e.g.
0.90.0
): install said version
Optional. Set list of rubocop extensions with versions.
By default install rubocop-rails
, rubocop-performance
, rubocop-rspec
, rubocop-i18n
, rubocop-rake
with latest versions.
Provide desired version delimited by :
(e.g. rubocop-rails:1.7.1
)
Possible version values:
- empty or omit (
rubocop-rails rubocop-rspec
): install latest version rubocop-rails:gemfile rubocop-rspec:gemfile
: install version from Gemfile (Gemfile.lock
should be presented, otherwise it will fallback to latest bundler version)- version (e.g.
rubocop-rails:1.7.1 rubocop-rspec:2.0.0
): install said version
You can combine gemfile
, fixed and latest bundle version as you want to.
Optional. Rubocop flags. (rubocop <rubocop_flags>
).
Optional. Tool name to use for reviewdog reporter. Useful when running multiple actions with different config.
Optional. Report level for reviewdog [info
, warning
, error
].
It's same as -level
flag of reviewdog.
Optional. Reporter of reviewdog command [github-pr-check
, github-check
, github-pr-review
].
The default is github-pr-check
.
Optional. Filtering mode for the reviewdog command [added
, diff_context
, file
, nofilter
].
Default is added
.
Optional. Exit code for reviewdog when errors are found [true
, false
].
Default is false
.
Optional. Additional reviewdog flags.
Optional. The directory from which to look for and run Rubocop. Default .
.
Optional. Do not install Rubocop or its extensions. Default: false
.
Optional. Run Rubocop with bundle exec. Default: false
.
You can create RuboCop Configuration and this action uses that config too.
name: reviewdog
on: [pull_request]
permissions:
contents: read
pull-requests: write
jobs:
rubocop:
name: runner / rubocop
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: 3.0.0
- name: rubocop
uses: reviewdog/action-rubocop@v2
with:
rubocop_version: gemfile
rubocop_extensions: rubocop-rails:gemfile rubocop-rspec:gemfile
reporter: github-pr-review # Default is github-pr-check