nerd-fonts/.github/workflows/shellcheck.yml
Fini Jastrow 48156a785f CI: Update all actions
[why]
Because we want to use Node 20 etc pp

[how]
Check for breaking changes and update.

Also replace checkout-files by checkout with sparse-checkout; as they
semselves encourage people to do.

action-gh-release has been updated to Node 20 but has not been released
with the change, so we access the latest version directly by hash.

[note]
Of course this is unchecked... what can ge wrong! 😬

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-02-29 11:36:41 +01:00

38 lines
1.1 KiB
YAML

name: "Shellcheck"
on:
pull_request:
branches: [ master ]
paths:
- '**/*.sh'
workflow_dispatch:
jobs:
shellcheck:
name: Shellcheck
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Check scripts (1/2)
run: |
shellcheck -V
rm -f sc.log
find . -path '*/bin/scripts/lib/*' -prune -o -name '*.sh' -print -exec bash -c 'shellcheck -f gcc -e SC2155 {} | tee -a sc.log' \;
# SC2155: Declare and assign separately to avoid masking return values
- name: Check scripts (2/2)
run: |
find bin/scripts/lib -name '*.sh' -not -name 'i_m*' -print -exec bash -c 'shellcheck -f gcc -e SC2034 {} | tee -a sc.log' \;
# SC2034: ... appears unused. Verify use (or export if used externally)
- name: Check for issues
run: |
num=$(wc -l < sc.log)
if [ "$num" -gt 0 ]; then
echo "Found $num messages from ShellCheck - please fix them"
exit 1
fi
echo "Found $num messages from ShellCheck, all good!"