@@ -101,11 +101,14 @@ jobs:
101
101
if [ -n "$LAST_TAG" ]; then RANGE="$LAST_TAG..HEAD"; fi
102
102
RAW=$(git log --pretty=format:%s $RANGE)
103
103
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}')
105
108
if [ -z "$FILTERED" ]; then
106
109
CHANGES='- (変更点なし / No notable changes)'
107
110
else
108
- CHANGES=$(echo "$FILTERED " | awk 'function map(line){
111
+ CHANGES=$(echo "$NORMALIZED " | awk 'function map(line){
109
112
if(line ~ /^feat/){return "- ✨ " line}
110
113
if(line ~ /^fix/){return "- 🐛 " line}
111
114
if(line ~ /^perf/){return "- 🚀 " line}
@@ -119,8 +122,12 @@ jobs:
119
122
fi
120
123
echo "--- Generated list ---"
121
124
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
124
131
125
132
- name : Update pubspec.yaml version
126
133
run : |
0 commit comments