mirror of
https://github.com/ironfox-oss/IronFox.git
synced 2026-07-31 01:46:33 -04:00
Add a blocking `lint` CI stage (runs first, on a lightweight Alpine image) plus a core.hooksPath pre-commit hook, with scripts/lint.sh as the shared runner for CI, the hook, and manual use. Checks are configured in .shellcheckrc and formatting in .editorconfig. bootstrap.sh installs shellcheck + shfmt per-OS and enables the pre-commit hook. The hook is a convenience (bypassable with --no-verify); the CI `lint-scripts` job enforces formatting. SC2086/SC2046 are disabled for now. SC2002 is disabled too, since shellcheck made it opt-in as of 0.11.0 while older versions (e.g. Alpine's in CI) still enable it by default.
19 lines
1.1 KiB
Plaintext
19 lines
1.1 KiB
Plaintext
# ShellCheck configuration for IronFox
|
|
# See: https://github.com/koalaman/shellcheck/wiki
|
|
|
|
# Follow `source`d files when the path is statically resolvable.
|
|
external-sources=true
|
|
|
|
disable=SC2034 # unused variable, expected in sourced env libraries (used elsewhere)
|
|
disable=SC1090 # can't follow a dynamically-computed `source` path
|
|
disable=SC1091 # sourced file not present at lint time
|
|
disable=SC2155 # declare-and-assign masks the command's return value (style)
|
|
disable=SC2086 # unquoted expansion / word splitting, triage before re-enabling
|
|
disable=SC2046 # word splitting on $(...)
|
|
disable=SC2016 # single quotes prevent expansion (intentional in awk/sed strings)
|
|
disable=SC2153 # possible variable misspelling (false positives on sourced vars)
|
|
disable=SC2154 # referenced but not assigned (sourced vars)
|
|
disable=SC2269 # `x=$x` self-assignment (environment passthrough)
|
|
disable=SC2129 # individual >> redirects vs a grouped block (style)
|
|
disable=SC2002 # useless use of cat (stylistic; off by default in shellcheck >= 0.11, on in older CI versions)
|