sh-checker
ActionsTags
(2)A GitHub action that performs static analysis of shell scripts using shellcheck, shfmt and checkbashisms
Job example to check all sh files but ignore the directory .terraform
and file dir/example.sh
name: example
on:
- pull_request
jobs:
sh-checker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run the sh-checker
uses: luizm/action-sh-checker@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SHELLCHECK_OPTS: -e SC1004 # exclude some shellcheck warnings.
SHFMT_OPTS: -s # arguments to shfmt.
with:
sh_checker_comment: true
sh_checker_exclude: ".terraform ^dir/example.sh"
SHELLCHECK_OPTS
: Used to specify shellcheck arguments.
SHFMT_OPTS
: Used to specify shfmt arguments.
sh_checker_only_diff
: (optional) Only check the files that were changed in the pull request. Default is to check all files in the repo.
sh_checker_exclude
: (optional) Directory or file name that doesn't need to be checked.
sh_checker_comment
: (optional) If true, it will show the errors as commentaries in the pull requests. Default is false.
sh_checker_shfmt_disable
: (optional) If true, it will skip shfmt. Default is false.
sh_checker_shellcheck_disable
: (optional) If true, it will skip shellcheck. Default is false.
sh_checker_checkbashisms_enable
: (optional) If true, run checkbashisms tool against scripts. Default is false.
GITHUB_TOKEN
: The GitHub API token used to post comments to pull requests. Required only if sh_checker_only_diff
or sh_checker_comment
is set to true.
sh-checker is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.