Add workflows verifying bash and commit messages
Some checks failed
Check Commit Messages / check-commit-message (pull_request) Failing after 3m8s
Some checks failed
Check Commit Messages / check-commit-message (pull_request) Failing after 3m8s
This PR adds the first two workflows: 1. Bash linter 2. Commit message verification
This commit is contained in:
parent
f0fd008e1d
commit
7e77c06a9d
30
.forgejo/workflows/check-commit-message.yml
Normal file
30
.forgejo/workflows/check-commit-message.yml
Normal file
|
@ -0,0 +1,30 @@
|
|||
name: Check Commit Messages
|
||||
|
||||
on:
|
||||
push:
|
||||
paths-ignore:
|
||||
- '**/*.sh' # Commit messages are checked regardless of file type
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- '**/*.sh'
|
||||
|
||||
jobs:
|
||||
check-commit-message:
|
||||
runs-on: docker
|
||||
container:
|
||||
image: node:16-bullseye # Node.js pre-installed, based on Debian
|
||||
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: https://code.forgejo.org/actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0 # Fetch the entire history to avoid REST API reliance
|
||||
|
||||
- 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
|
||||
|
31
.forgejo/workflows/lint-bash.yml
Normal file
31
.forgejo/workflows/lint-bash.yml
Normal file
|
@ -0,0 +1,31 @@
|
|||
name: Lint Bash Scripts
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- '**/*.sh'
|
||||
pull_request:
|
||||
paths:
|
||||
- '**/*.sh'
|
||||
|
||||
jobs:
|
||||
lint-bash:
|
||||
runs-on: docker
|
||||
container:
|
||||
image: node:16-bullseye # Node.js pre-installed, based on Debian
|
||||
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: https://code.forgejo.org/actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0 # Fetch the entire history to avoid REST API reliance
|
||||
|
||||
- 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
|
||||
|
Loading…
Reference in a new issue