Skip to content

Commit f9e89b6

Browse files
committed
enhance release action
1 parent 38d0ff9 commit f9e89b6

File tree

1 file changed

+40
-7
lines changed

1 file changed

+40
-7
lines changed

.github/workflows/release.yml

Lines changed: 40 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -173,22 +173,52 @@ jobs:
173173
174174
if [ -z "$PREVIOUS_TAG" ]; then
175175
# First release or can't find previous, get last 20 commits
176-
CONTRIBUTORS=$(git log -20 --format='%an' 2>/dev/null | sort -u | paste -sd ", " - || echo "")
176+
RAW_CONTRIBUTORS=$(git log -20 --format='%an|%ae' 2>/dev/null | sort -u || echo "")
177177
else
178178
# Get contributors between releases
179-
CONTRIBUTORS=$(git log --format='%an' ${PREVIOUS_TAG}..${VERSION} 2>/dev/null | sort -u | paste -sd ", " - || echo "")
179+
RAW_CONTRIBUTORS=$(git log --format='%an|%ae' ${PREVIOUS_TAG}..${VERSION} 2>/dev/null | sort -u || echo "")
180180
fi
181181
182182
cd ..
183183
184+
# Format contributors with GitHub avatars
185+
CONTRIBUTORS_MD=""
186+
while IFS='|' read -r name email; do
187+
if [ -n "$name" ]; then
188+
# Extract GitHub username from email
189+
if echo "$email" | grep -q "users.noreply.github.com"; then
190+
191+
GITHUB_USER=$(echo "$email" | sed 's/@users.noreply.github.com//' | sed 's/^[0-9]*+//')
192+
elif echo "$email" | grep -q "@github.com"; then
193+
194+
GITHUB_USER=$(echo "$email" | sed 's/@github.com//')
195+
else
196+
# Fallback: try lowercase name without spaces
197+
GITHUB_USER=$(echo "$name" | tr '[:upper:]' '[:lower:]' | tr -d ' ' | tr -d ',' | tr -d '.')
198+
fi
199+
200+
# Create markdown with avatar
201+
if [ -n "$GITHUB_USER" ]; then
202+
CONTRIBUTORS_MD="${CONTRIBUTORS_MD}<img src=\"https://github.com/${GITHUB_USER}.png?size=40\" width=\"40\" height=\"40\" alt=\"${name}\" /> [@${GITHUB_USER}](https://github.com/${GITHUB_USER}) "
203+
else
204+
CONTRIBUTORS_MD="${CONTRIBUTORS_MD}**${name}** "
205+
fi
206+
CONTRIBUTORS_MD="${CONTRIBUTORS_MD}"$'\n'
207+
fi
208+
done <<< "$RAW_CONTRIBUTORS"
209+
184210
# Set multiline output
185211
{
186212
echo 'notes<<EOF'
187213
echo "$RELEASE_NOTES"
188214
echo EOF
189215
} >> $GITHUB_OUTPUT
190216
191-
echo "contributors=$CONTRIBUTORS" >> $GITHUB_OUTPUT
217+
{
218+
echo 'contributors<<EOF'
219+
echo "$CONTRIBUTORS_MD"
220+
echo EOF
221+
} >> $GITHUB_OUTPUT
192222
env:
193223
GH_TOKEN: ${{ secrets.PRIVILEGED_GITHUB_TOKEN }}
194224

@@ -217,17 +247,20 @@ jobs:
217247
uses: peter-evans/create-pull-request@v7
218248
with:
219249
token: ${{ secrets.PRIVILEGED_GITHUB_TOKEN }}
220-
commit-message: "⬆️ Update music-assistant-frontend to [${{ inputs.version }}"
250+
commit-message: "⬆️ Update music-assistant-frontend to ${{ inputs.version }}"
221251
branch: "auto-update-frontend-${{ inputs.version }}"
222252
delete-branch: true
223-
title: "⬆️ Update music-assistant-frontend to [${{ inputs.version }}](https://github.com/music-assistant/frontend/releases/tag/${{ inputs.version }})"
253+
title: "⬆️ Update music-assistant-frontend to ${{ inputs.version }}"
224254
body: |
225-
Update music-assistant-frontend to version ${{ inputs.version }}
255+
Update music-assistant-frontend to version [${{ inputs.version }}](https://github.com/music-assistant/frontend/releases/tag/${{ inputs.version }})
226256
227257
${{ steps.release_notes.outputs.notes }}
228258
259+
---
260+
229261
## Contributors
230262
231263
${{ steps.release_notes.outputs.contributors }}
232264
233-
labels: dependencies
265+
labels: |
266+
dependencies

0 commit comments

Comments
 (0)