Merge pull request '[AC-INIT] 修改初始配置文件' (#14) from setup-gate into main

Reviewed-on: MerCry/ai-robot#14
This commit is contained in:
MerCry 2026-02-24 03:58:45 +00:00
commit 5d9eb4aac3
1 changed files with 19 additions and 5 deletions

View File

@ -45,14 +45,28 @@ jobs:
- name: 1. Commit Message Check - name: 1. Commit Message Check
shell: sh shell: sh
run: | run: |
set -eu
echo "Checking commit messages for [AC-...] or [TASK-...] (range: refs/remotes/origin/main..HEAD)" echo "Checking commit messages for [AC-...] or [TASK-...] (range: refs/remotes/origin/main..HEAD)"
# refs/remotes/origin/main is fetched in the checkout step
git log --no-merges --format=%B refs/remotes/origin/main..HEAD | cat range="refs/remotes/origin/main..HEAD"
if git log --no-merges --format=%B refs/remotes/origin/main..HEAD | grep -Eq '\[(AC|TASK)-'; then # Ignore tool-generated merge commits and filter out merge titles
msgs="$(git log --format=%B --no-merges "$range" || true)"
if [ -z "${msgs}" ]; then
echo "WARNING: No non-merge commits found in range ${range}. Skipping commit message gate."
exit 0
fi
echo "$msgs" | cat
# Drop lines like "Merge branch ..." just in case
filtered="$(echo "$msgs" | grep -Ev '^(Merge( branch)? |Merge pull request )' || true)"
if echo "$filtered" | grep -Eq '\[(AC|TASK)-'; then
echo "OK: Found [AC-...] or [TASK-...] in PR commits" echo "OK: Found [AC-...] or [TASK-...] in PR commits"
else else
echo "ERROR: At least one commit message in the PR must contain [AC-...] or [TASK-...]" echo "ERROR: At least one non-merge commit message in the PR must contain [AC-...] or [TASK-...]"
exit 1 exit 1
fi fi