Skip to content

About

🐶 Suggests any code changes based on diff through GitHub Multi-line code suggestions by using reviewdog

Resources

Code of conduct

Stars

137 stars

Watchers

26 watching

Forks

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

Latest commit

 

History

278 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

action-suggester

Test reviewdog depup release GitHub release (latest SemVer) action-bumpr supported Used-by counter

shfmt demo shellcheck demo gofmt demo multiline demo

action-suggester is a handy action which suggests any code changes based on diff through GitHub Multi-line code suggestions by using reviewdog.

You can use any formatters or linters with auto-fix feature for any languages and the reviewdog suggester support any changes including inline change, multi-line changes, insertion, and deletion.

Input

inputs:
  github_token:
    description: 'GITHUB_TOKEN'
    default: '${{ github.token }}'
  path:
    description: "The directory in which reviewdog should run"
    default: "."
    required: false
  ### Flags for reviewdog ###
  tool_name:
    description: 'Tool name to use for reviewdog reporter'
    default: 'reviewdog-suggester'
  level:
    description: 'Report level for reviewdog [info,warning,error]'
    default: 'warning'
  filter_mode:
    description: |
      Filtering mode for the reviewdog command [added,diff_context,file,nofilter].
      Default is diff_context. GitHub suggestions only support added and diff_context.
    default: 'diff_context'
  fail_level:
    description: |
      Exit code 1 for reviewdog if it finds at least 1 issue with severity greater than or equal to given level [none,any,info,warning,error].
      If set to `none`, always exit with 0.
      Default is `none`.
    default: 'none'
  fail_on_error:
    description: |
      Exit code for reviewdog when errors are found [true,false]
      Default is `false`.
    deprecationMessage: Deprecated, use `fail_level` instead.
    default: 'false'
  reviewdog_flags:
    description: 'Additional reviewdog flags'
    default: ''
  ### Flags for reviewdog suggester ###
  cleanup:
    description: 'Clean up non-committed changes after the action'
    default: 'true'

Required Permissions

The action requires the following permissions:

permissions:
  contents: read
  checks: write
  issues: write
  pull-requests: write

See Assigning permissions to jobs for more details.

Usage Example

name: reviewdog-suggester
on: [pull_request] # Support only pull_request event.
jobs:
  go:
    name: runner / suggester / gofmt
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
      - run: gofmt -w -s .
      - uses: reviewdog/action-suggester@4747dbc9f9e37adba0943e681cc20db466642158 # v1.21.0
        with:
          tool_name: gofmt
  shell:
    name: runner / suggester / shell
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
      - uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
      - run: go install mvdan.cc/sh/v3/cmd/shfmt@latest

      - run: shfmt -i 2 -ci -w .
      - name: suggester / shfmt
        uses: reviewdog/action-suggester@4747dbc9f9e37adba0943e681cc20db466642158 # v1.21.0
        with:
          tool_name: shfmt

      # Need to install latest shellcheck to use diff output format as of writing (2020/08/03).
      - name: install shellcheck
        run: |
          scversion="latest"
          wget -qO- "https://github.com/koalaman/shellcheck/releases/download/${scversion?}/shellcheck-${scversion?}.linux.x86_64.tar.xz" | tar -xJv
          sudo cp "shellcheck-${scversion}/shellcheck" /usr/local/bin/
          rm -rf "shellcheck-${scversion}/shellcheck"
      - run: shellcheck -f diff $(shfmt -f .) | patch -p1
      - name: suggester / shellcheck
        uses: reviewdog/action-suggester@4747dbc9f9e37adba0943e681cc20db466642158 # v1.21.0
        with:
          tool_name: shellcheck

About

🐶 Suggests any code changes based on diff through GitHub Multi-line code suggestions by using reviewdog

Resources

Code of conduct

Stars

137 stars

Watchers

26 watching

Forks

Releases

Sponsor this project

Contributors

Languages