Compare commits

..

No commits in common. "5d9eb4aac315a788b0f9a1a064e9a25841af04c9" and "b9f678a203eb9edf9f7579e49d3fbd8093729b98" have entirely different histories.

1 changed files with 5 additions and 19 deletions

View File

@ -45,28 +45,14 @@ 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
range="refs/remotes/origin/main..HEAD" git log --no-merges --format=%B refs/remotes/origin/main..HEAD | cat
# Ignore tool-generated merge commits and filter out merge titles if git log --no-merges --format=%B refs/remotes/origin/main..HEAD | grep -Eq '\[(AC|TASK)-'; then
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 non-merge commit message in the PR must contain [AC-...] or [TASK-...]" echo "ERROR: At least one commit message in the PR must contain [AC-...] or [TASK-...]"
exit 1 exit 1
fi fi