Awesome
GitHub Action: Run ktlint with reviewdog
This action runs ktlint with reviewdog on pull requests to enforce best practices.
Examples
With github-pr-check
By default, with reporter: github-pr-check
an annotation is added to
the line:
With github-pr-review
With reporter: github-pr-review
a comment is added to
the Pull Request Conversation:
Inputs
github_token
Required. Must be in form of github_token: ${{ secrets.github_token }}
.
level
Optional. Report level for reviewdog [info
,warning
,error
].
It's same as -level
flag of reviewdog.
The default is error
.
reporter
Optional. Reporter of reviewdog command [github-pr-check
,github-pr-review
, github-check
].
The default is github-pr-check
.
See reviewdog reporters documentation for more details on their functionality.
filter_mode
Optional. Filtering for the reviewdog command [added
,diff_context
,file
,nofilter
].
The default is added
.
See reviewdog filter mode documentation for more details.
fail_on_error
Optional. Exit code for reviewdog when errors are found [true
,false
]
Default is false.
See reviewdog fail on error documentation for more details.
relative
Optional. Print files relative to the working directory [true
/false
]
The default value is true.
android
(deprecated)
Optional. Runs KtLint with Android Kotlin Style Guide [true
/false
]
The default value is false.
Note: this field has no effect if ktlint_version
is 1.0.1 or later. code-style
command-line argument is deprecated in ktlint. Instead, ktlint_code_style
property in .editorconfig
needs to be used. Example:
[*.{kt,kts}]
ktlint_code_style = android_studio
More in https://pinterest.github.io/ktlint/latest/rules/code-styles/
baseline
Optional. Runs checks against the baseline file provided.
ktlint_version
Optional. Defines the ktlint version to use.
The default value is latest
.
name
Optional. Reviewdog report name. See checkstyle-format for details.
The default value is ktlint
.
file_glob
Optional. Defines a file glob to identify files to be checked. The default value is an empty string.
custom_rule_path
Optional. Provides path to JAR file with custom rules. The default value is an empty string.
Example usage
name: reviewdog
on: [pull_request]
jobs:
ktlint:
name: Check Code Quality
runs-on: ubuntu-latest
steps:
- name: Clone repo
uses: actions/checkout@master
with:
fetch-depth: 1
- name: ktlint
uses: ScaCap/action-ktlint@master
with:
github_token: ${{ secrets.github_token }}
reporter: github-pr-review # Change reporter