31 lines
724 B
YAML
31 lines
724 B
YAML
# Validate every shell script in the repo with shellcheck.
|
|
# Runs on every push to main + every pull request.
|
|
name: lint
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
jobs:
|
|
shellcheck:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install shellcheck
|
|
run: |
|
|
apt-get update -qq
|
|
apt-get install -y -qq shellcheck
|
|
- name: Lint *.sh
|
|
run: |
|
|
set -e
|
|
found=0
|
|
for f in $(find . -name '*.sh' -not -path './.git/*'); do
|
|
echo "→ $f"
|
|
shellcheck -S warning "$f" || true
|
|
found=1
|
|
done
|
|
if [ "$found" -eq 0 ]; then
|
|
echo "(no .sh files yet)"
|
|
fi
|