Skip to content

Commit 32efda5

Browse files
committed
fix: CHANGELOGの生成ロジックを改善し、不要なコミットメッセージを除外
1 parent 485c8a5 commit 32efda5

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

.github/workflows/prepare-release.yml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,11 +101,14 @@ jobs:
101101
if [ -n "$LAST_TAG" ]; then RANGE="$LAST_TAG..HEAD"; fi
102102
RAW=$(git log --pretty=format:%s $RANGE)
103103
echo "Raw subjects:\n$RAW" | head -40
104-
FILTERED=$(echo "$RAW" | grep -v -E '^chore\(release\):' | grep -v -E '^Merge pull request' || true)
104+
# 除外: release bump, merge 系, 自動生成的な release 行
105+
FILTERED=$(echo "$RAW" | grep -v -E '^(chore\(release\):|Merge |Merge pull request|Merge branch|Merge remote-tracking branch|chore: release )' || true)
106+
# 正規化: 先頭が 'Refactor ' で始まるものを refactor: に統一
107+
NORMALIZED=$(echo "$FILTERED" | awk '/^Refactor /{sub(/^Refactor /,"refactor: ");} {print}')
105108
if [ -z "$FILTERED" ]; then
106109
CHANGES='- (変更点なし / No notable changes)'
107110
else
108-
CHANGES=$(echo "$FILTERED" | awk 'function map(line){
111+
CHANGES=$(echo "$NORMALIZED" | awk 'function map(line){
109112
if(line ~ /^feat/){return "- ✨ " line}
110113
if(line ~ /^fix/){return "- 🐛 " line}
111114
if(line ~ /^perf/){return "- 🚀 " line}
@@ -119,8 +122,12 @@ jobs:
119122
fi
120123
echo "--- Generated list ---"
121124
echo "$CHANGES" | head -40
122-
esc=$(printf "%s" "$CHANGES" | sed 's/%/%25/g; s/\r/%0D/g; s/\n/%0A/g')
123-
echo "list=$esc" >> $GITHUB_OUTPUT
125+
# GitHub Actions multiline output (改行をそのまま保持)
126+
{
127+
echo 'list<<__EOT__'
128+
printf '%s\n' "$CHANGES"
129+
echo '__EOT__'
130+
} >> $GITHUB_OUTPUT
124131
125132
- name: Update pubspec.yaml version
126133
run: |

0 commit comments

Comments
 (0)