From 9c202f770d2dd3ed524458acb0efa25704526132 Mon Sep 17 00:00:00 2001 From: Ali Date: Tue, 15 Jul 2025 19:22:31 +0100 Subject: [PATCH] shellcheck workflow --- .github/workflows/lint.yml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 .github/workflows/lint.yml diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..db46fff --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,30 @@ +name: Shell Script Linter + +on: + push: + branches: [ "main", "test" ] + pull_request: + branches: [ "main" ] + +jobs: + shellcheck: + name: Shellcheck + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Install ShellCheck + run: sudo apt-get update && sudo apt-get install -y shellcheck + - name: Run Shellcheck (Show All Issues & Fail on Errors) + run: | + set -o pipefail + + echo "--- Checking for all warnings and style issues ---" + shellcheck -f gcc ./du_setup.sh | while IFS= read -r line; do + file=$(echo "$line" | cut -d: -f1) + line_no=$(echo "$line" | cut -d: -f2) + message=$(echo "$line" | cut -d: -f4-) + echo "::warning file=$file,line=$line_no::$message" + done || true + + echo "--- Checking for critical errors ---" + shellcheck --severity=error ./du_setup.sh