Skip to content

Fork of the original action to run Checkstyle on your Java code.

License

Notifications You must be signed in to change notification settings

equinor/action-checkstyle

 
 

Repository files navigation

Checkstyle for Java GitHub Action

Test reviewdog depup release action-bumpr supported

GitHub release (latest SemVer) OpenSSF Scorecard Contributor Covenant

This is a GitHub action to run Checkstyle checks on your Java code and report the status via reviewdog on pull requests.

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: equinor/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: equinor/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

    Example:

    name: reviewdog
    on: [pull_request]
    jobs:
      checkstyle:
        name: runner / checkstyle
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v4
          - uses: equinor/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: equinor/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

  • level

    Report level for the reviewdog command.

    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

  • reporter

    Reporter for the reviewdog command.

    For more information, check reviewdog / reporters documentation.

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

    Default: github-pr-check

  • filter_mode

    Filtering mode for the reviewdog command.

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

    Values: [added, diff_context, file, nofilter]

    Default: added

  • fail_on_error

    Exit code for reviewdog when errors are found.

    Values: [true, false]

    Default: false

  • reviewdog_flags

    Additional reviewdog flags.

    Default: ``