diff --git a/.gitea/workflows/lint.yml b/.gitea/workflows/lint.yml new file mode 100644 index 0000000..c338fff --- /dev/null +++ b/.gitea/workflows/lint.yml @@ -0,0 +1,30 @@ +# 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