Add workflow analyzing commit message
Using checkout@v4 on each push and pull request
This commit is contained in:
parent
f0fd008e1d
commit
70fae4bc24
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
|
||||||
|
|
Loading…
Reference in a new issue