Skip to content

dbelyaev/action-checkstyle

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Checkstyle for Java GitHub Action

GitHub release (latest SemVer) Test reviewdog release depup

OpenSSF Scorecard Contributor Covenant FOSSA Status action-bumpr supported

A GitHub action that integrates Checkstyle with your pull request workflow to enforce Java code quality standards. Violations are automatically reported via reviewdog, making code reviews more efficient and consistent.

Table of Contents

Example

An example of how the reported Checkstyle violations will look on a pull request is shown below (link to example PR):

PR comment with violation

Usage

name: reviewdog
on: [pull_request]
jobs:
  checkstyle:
    name: runner / checkstyle
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dbelyaev/action-checkstyle@master
        with:
          github_token: ${{ secrets.github_token }}
          reporter: github-pr-review
          level: warning

Input Parameters

Checkstyle Parameters

  • checkstyle_config

    Checkstyle configuration specifies which ruleset to apply during the scan.

    There are two built-in configurations:

    It is also possible to supply your custom Checkstyle configuration file located in the same directory.

    Default: google_checks.xml

    Example:

    name: reviewdog
    on: [pull_request]
    jobs:
      checkstyle:
        name: runner / checkstyle
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v4
          - uses: dbelyaev/action-checkstyle@master
            with:
              github_token: ${{ secrets.github_token }}
              reporter: github-pr-review
              checkstyle_config: sun_checks.xml

    Link to example PR.

  • checkstyle_version

    Checkstyle version to be used during analysis.

    For a list of available version numbers, go to the Checkstyle release page.

    Important: This field will always try to follow Checkstyle releases as closely as possible and will use the latest available version by default. If the default preference is not suitable for your project, please pin the needed version using this property.

    Default: Latest available version

    Example:

    name: reviewdog
    on: [pull_request]
    jobs:
      checkstyle:
        name: runner / checkstyle
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v4
          - uses: dbelyaev/action-checkstyle@master
            with:
              github_token: ${{ secrets.github_token }}
              reporter: github-pr-review
              checkstyle_version: "9.0" # double quotes important here
  • workdir

    The working directory relative to the root directory.

    Default: '.' (root)

  • properties_file

    Location of the properties file relative to the root directory.

    This file serves as a means to resolve repetitive or predefined values within the checkstyle configuration file.

    Default: '' (empty)

    Example:

    name: reviewdog
    on: [pull_request]
    jobs:
      checkstyle:
        name: runner / checkstyle
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v4
          - uses: dbelyaev/action-checkstyle@master
            with:
              github_token: ${{ secrets.github_token }}
              reporter: github-pr-review
              checkstyle_config: ./properties_file/test_checks.xml
              properties_file: ./properties_file/additional.properties

    Link to example PR.

Reviewdog Parameters

  • reporter

    Specific reporter to be used for the GitHub results reporting by reviewdog.

    Values: github-pr-check, github-check, github-pr-review

    For more information, check reviewdog / reporters documentation, which includes examples of GitHub reports and descriptions of possible limitations.

    Default: github-pr-check

  • level

    This flag is used to change report level for the chosen reporter.

    Values: info, warning, error

    You can control GitHub status check result with this feature:

    Level GitHub Status
    info neutral
    warning neutral
    error failure

    Default: info

  • filter_mode

    Filtering mode for the reviewdog command.

    Values: added, diff_context, file, nofilter

    For more information, check reviewdog / filter-mode documentation.

    Default: added

  • fail_level

    Controls when reviewdog should return a non-zero exit code to fail your workflow.

    Values: none, any, info, warning, error

    By default (none), reviewdog will exit with code 0 even if it finds errors. Setting this to another value will cause reviewdog to exit with code 1 when it finds issues at or above the specified severity level, which can be used to fail the GitHub workflow.

    Default: none

  • reviewdog_flags

    Additional reviewdog flags.

    Default: ""

About

reviewdog based GitHub action to run Checkstyle on your Java code.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors 10