Add shellcheck workflow

This commit is contained in:
ZoopaMario 2024-12-28 20:42:05 +01:00
parent f0fd008e1d
commit 20dd94efac

View file

@ -0,0 +1,43 @@
name: Lint and Validate
on:
push:
paths:
- '**/*.sh'
pull_request:
paths:
- '**/*.sh'
jobs:
lint-and-validate:
runs-on: docker
container:
image: debian:bullseye
steps:
- name: Install Node.js
run: |
apt-get update && apt-get install -y curl
curl -fsSL https://deb.nodesource.com/setup_16.x | bash -
apt-get install -y nodejs
- name: Checkout Code
uses: https://code.forgejo.org/actions/checkout@v4
- name: Install ShellCheck
run: |
apt-get update && apt-get install -y shellcheck
- name: Lint Bash Scripts
run: |
echo "Linting Bash scripts..."
find . -name '*.sh' -print0 | xargs -0 shellcheck
- name: Check Commit Messages
run: |
echo "Checking commit message format..."
if ! git log -1 --pretty=%B | grep -Eq '^(feat|fix|chore|docs|style|refactor|test|perf):'; then
echo "Commit message does not follow the conventional format: <type>: <subject>"
exit 1
fi