Problem
The shellcheck action discovers *.sh/*.bash files, so extensionless bash dotfiles (dot_bashrc, dot_bash_profile in a chezmoi source tree, or .bashrc/.profile generally) are invisible to it. They also have no shebang, so an exec-bit/shebang-detection model won't close the gap.
Consumers work around this by hand-duplicating a second shellcheck invocation with the same exclude flags in two places (the CI workflow and the local Lefthook config), which must then be kept in sync. Example in kyle-sexton/dotfiles: .github/workflows/ci.yml "Lint the extensionless bash dotfiles" step + lefthook.yml shellcheck-bash-dotfiles lane, both running shellcheck --exclude=SC1090,SC1091 dot_bash*.
Ask
Add a configurable extra-glob / extra-paths input to the shellcheck action so a consumer can name extensionless sourced files (and their excludes) once, without duplicating a bespoke step. Once available, downstreams delete both local copies.
Found during the kyle-sexton/dotfiles repo audit (kyle-sexton/dotfiles#110).
Problem
The shellcheck action discovers
*.sh/*.bashfiles, so extensionless bash dotfiles (dot_bashrc,dot_bash_profilein a chezmoi source tree, or.bashrc/.profilegenerally) are invisible to it. They also have no shebang, so an exec-bit/shebang-detection model won't close the gap.Consumers work around this by hand-duplicating a second shellcheck invocation with the same exclude flags in two places (the CI workflow and the local Lefthook config), which must then be kept in sync. Example in kyle-sexton/dotfiles:
.github/workflows/ci.yml"Lint the extensionless bash dotfiles" step +lefthook.ymlshellcheck-bash-dotfileslane, both runningshellcheck --exclude=SC1090,SC1091 dot_bash*.Ask
Add a configurable extra-glob / extra-paths input to the shellcheck action so a consumer can name extensionless sourced files (and their excludes) once, without duplicating a bespoke step. Once available, downstreams delete both local copies.
Found during the kyle-sexton/dotfiles repo audit (kyle-sexton/dotfiles#110).