Skip to content

reviewdog/action-shellcheck

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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Action: Run shellcheck with reviewdog

Docker Image CI depup release GitHub release (latest SemVer) action-bumpr supported

This action runs shellcheck with reviewdog on pull requests to improve code review experience.

github-pr-check sample github-pr-review sample

Inputs

github_token

Optional. ${{ github.token }} is used by default.

level

Optional. Report level for reviewdog [info,warning,error]. It's same as -level flag of reviewdog.

reporter

Reporter of reviewdog command [github-pr-check,github-pr-review,github-check]. Default is github-pr-check. github-pr-review can use Markdown and add a link to rule page in reviewdog reports.

filter_mode

Optional. Filtering mode for the reviewdog command [added,diff_context,file,nofilter]. Default is file.

fail_level

Optional. If set to none, always use exit code 0 for reviewdog. Otherwise, exit code 1 for reviewdog if it finds at least 1 issue with severity greater than or equal to the given level. Possible values: [none, any, info, warning, error] Default is none.

fail_on_error

Deprecated, use fail_level instead. Optional. Exit code for reviewdog when errors are found [true,false] Default is false.

reviewdog_flags

Optional. Additional reviewdog flags

path

Optional. Base directory to run shellcheck. Same as [path] of find command. Default: .

Directories are separated by lines. e.g.:

path: |
  tools
  src

pattern

Optional. File patterns of target files. Same as -name [pattern] of find command. Default: *.sh

Patterns are separated by lines. e.g.:

pattern: |
  *.bash
  *.sh

exclude

Optional. Exclude patterns of target files. Same as -not -path [exclude] of find command. Default: */.git/*

Patterns are separated by lines. e.g.:

exclude: |
  */.git/*
  ./.cache/*

check_all_files_with_shebangs

Optional. Checks all files with shebangs in the repository even if they do not match pattern. Default is false.

shellcheck_flags

Optional. Flags of shellcheck command. Default: --external-sources

Example usage

name: reviewdog
on: [pull_request]
jobs:
  shellcheck:
    name: runner / shellcheck
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
      - name: shellcheck
        uses: reviewdog/action-shellcheck@5ebd09ddbe2ebb471646ce234c6c8dd18663ca7c # v1.30.0
        with:
          github_token: ${{ secrets.github_token }}
          reporter: github-pr-review # Change reporter.
          path: "." # Optional.
          pattern: "*.sh" # Optional.
          exclude: "./.git/*" # Optional.
          check_all_files_with_shebangs: "false" # Optional.

Known issue

Running shellcheck.exe on Windows might fail with the following error:

SC1017: Literal carriage return. Run script through tr -d '\r'

This is due to the presence of a carriage return character (\r) in the script.

To fix this, you can simply create or edit the .gitattributes file in the root of your repository with the following contents:

*.sh text eol=lf

This would ensure that the scripts are checked out with the correct line ending.

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy