From 4b78236a0191b8a599928063ec23f06404b36d46 Mon Sep 17 00:00:00 2001 From: Abdussamet Kocak Date: Thu, 8 Oct 2026 21:42:40 +0200 Subject: [PATCH] fix(ci): Match scoped conventional-commit prefixes in changelog script The type regex only matched "type: ", so scoped commits like "fix(web): ..." all fell into the catch-all Other section instead of their proper one. --- .github/generate_changelog.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/generate_changelog.sh b/.github/generate_changelog.sh index 0130be7..8356077 100755 --- a/.github/generate_changelog.sh +++ b/.github/generate_changelog.sh @@ -27,14 +27,14 @@ label_for() { } commits=$(git log ${range} --reverse --pretty='format:%s') -known_pattern="^(feat|fix|refactor|perf|docs|test|ci|build|chore): " +known_pattern="^(feat|fix|refactor|perf|docs|test|ci|build|chore)(\([^)]*\))?!?: " first_section=1 for type in $types other; do if [ "$type" = "other" ]; then entries=$(printf '%s\n' "$commits" | grep -v -E "$known_pattern" | sed 's/^/- /' || true) else - entries=$(printf '%s\n' "$commits" | grep -E "^${type}: " | sed -E "s/^${type}: /- /" || true) + entries=$(printf '%s\n' "$commits" | grep -E "^${type}(\([^)]*\))?!?: " | sed -E "s/^${type}(\([^)]*\))?!?: /- /" || true) fi [ -z "$entries" ] && continue