forked from qualcomm-linux/qcom-linux-testkit
-
Notifications
You must be signed in to change notification settings - Fork 0
39 lines (33 loc) · 1.19 KB
/
shellcheck.yml
File metadata and controls
39 lines (33 loc) · 1.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
name: Shell Lint
on:
pull_request:
branches: [ "main" ]
push:
branches: [ "main" ]
workflow_dispatch:
jobs:
shellcheck:
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@v3
- name: Install ShellCheck from apt
run: |
sudo apt-get update
sudo apt-get install -y shellcheck=0.9.0-1
- name: Run ShellCheck on changed .sh files in PR
if: github.event_name == 'pull_request'
run: |
echo "Checking only changed shell files in PR..."
git fetch origin ${{ github.base_ref }}
FILES=$(git diff --diff-filter=d --name-only origin/${{ github.base_ref }} -- '*.sh')
if [ -n "$FILES" ]; then
echo "$FILES" | tr '\n' '\0' | xargs -0 -r shellcheck -S warning -e SC1091,SC2230,SC3043
else
echo "No shell files to lint."
fi
- name: Run ShellCheck on all .sh files (main or manual trigger)
if: github.event_name != 'pull_request'
run: |
echo "Linting all shell files in repository..."
find . -type f -name '*.sh' -print0 | xargs -0 -r shellcheck -S warning -e SC1091,SC2230,SC3043