ci: Add shellcheck for scripts (#20631)

Fixes shellcheck errors in script/*
Adds a couple trailing newlines.
Adds `script/shellcheck-scripts` and associated CI machinery.
Current set ultra-conservative, does not output warnings, only errors.
This commit is contained in:
Peter Tripp 2024-11-18 21:41:22 +00:00 committed by GitHub
parent 5b317f60df
commit 5b9916e34b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 48 additions and 12 deletions

12
script/shellcheck-scripts Executable file
View file

@ -0,0 +1,12 @@
#!/usr/bin/env bash
set -euo pipefail
mode=${1:-error}
[[ "$mode" =~ ^(error|warning)$ ]] || { echo "Usage: $0 [error|warning]"; exit 1; }
cd "$(dirname "$0")/.." || exit 1
find script -maxdepth 1 -type f -print0 |
xargs -0 grep -l -E '^#!(/bin/|/usr/bin/env )(sh|bash|dash)' |
xargs -r shellcheck -x -S "$mode" -C