# 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