refactor: replace inline log fetching with dedicated script for better maintainability

This commit is contained in:
Tunglies
2025-11-09 15:46:40 +08:00
parent 02ff2d3c2e
commit d193460649
4 changed files with 48 additions and 57 deletions

View File

@@ -35,20 +35,7 @@ jobs:
- name: Fetch UPDATE logs
id: fetch_update_logs
run: |
if [ -f "Changelog.md" ]; then
UPDATE_LOGS=$(awk '/^## v/{if(flag) exit; flag=1} flag' Changelog.md)
if [ -n "$UPDATE_LOGS" ]; then
echo "Found update logs"
echo "UPDATE_LOGS<<EOF" >> $GITHUB_ENV
echo "$UPDATE_LOGS" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
else
echo "No update sections found in Changelog.md"
fi
else
echo "Changelog.md file not found"
fi
run: bash ./scripts/extract_update_logs.sh
shell: bash
- uses: pnpm/action-setup@v4
@@ -509,20 +496,7 @@ jobs:
- name: Fetch UPDATE logs
id: fetch_update_logs
run: |
if [ -f "Changelog.md" ]; then
UPDATE_LOGS=$(awk '/^## v/{if(flag) exit; flag=1} flag' Changelog.md)
if [ -n "$UPDATE_LOGS" ]; then
echo "Found update logs"
echo "UPDATE_LOGS<<EOF" >> $GITHUB_ENV
echo "$UPDATE_LOGS" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
else
echo "No update sections found in Changelog.md"
fi
else
echo "Changelog.md file not found"
fi
run: bash ./scripts/extract_update_logs.sh
shell: bash
- name: Install Node

View File

@@ -73,20 +73,7 @@ jobs:
- name: Fetch UPDATE logs
id: fetch_update_logs
run: |
if [ -f "Changelog.md" ]; then
UPDATE_LOGS=$(awk '/^## v/{if(flag) exit; flag=1} flag' Changelog.md)
if [ -n "$UPDATE_LOGS" ]; then
echo "Found update logs"
echo "UPDATE_LOGS<<EOF" >> $GITHUB_ENV
echo "$UPDATE_LOGS" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
else
echo "No update sections found in Changelog.md"
fi
else
echo "Changelog.md file not found"
fi
run: bash ./scripts/extract_update_logs.sh
shell: bash
- name: Set Env
@@ -552,20 +539,7 @@ jobs:
- name: Fetch UPDATE logs
id: fetch_update_logs
run: |
if [ -f "Changelog.md" ]; then
UPDATE_LOGS=$(awk '/^## v/{if(flag) exit; flag=1} flag' Changelog.md)
if [ -n "$UPDATE_LOGS" ]; then
echo "Found update logs"
echo "UPDATE_LOGS<<EOF" >> $GITHUB_ENV
echo "$UPDATE_LOGS" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
else
echo "No update sections found in Changelog.md"
fi
else
echo "Changelog.md file not found"
fi
run: bash ./scripts/extract_update_logs.sh
shell: bash
- name: Install Node

View File

@@ -1,4 +1,4 @@
# v2.4.4
## v2.4.4
### 🐞 修复问题

43
scripts/extract_update_logs.sh Executable file
View File

@@ -0,0 +1,43 @@
#!/usr/bin/env bash
#
# extract_update_logs.sh
# 从 Changelog.md 提取最新版本 (## v...) 的更新内容
# 并输出到屏幕或写入环境变量文件(如 GitHub Actions
set -euo pipefail
CHANGELOG_FILE="Changelog.md"
if [[ ! -f "$CHANGELOG_FILE" ]]; then
echo "❌ 文件不存在: $CHANGELOG_FILE" >&2
exit 1
fi
# 提取从第一个 '## v' 开始到下一个 '## v' 前的内容
UPDATE_LOGS=$(awk '
/^## v/ {
if (found) exit;
found=1
}
found
' "$CHANGELOG_FILE")
if [[ -z "$UPDATE_LOGS" ]]; then
echo "⚠️ 未找到更新日志内容"
exit 0
fi
echo "✅ 提取到的最新版本日志内容如下:"
echo "----------------------------------------"
echo "$UPDATE_LOGS"
echo "----------------------------------------"
# 如果在 GitHub Actions 环境中GITHUB_ENV 已定义)
if [[ -n "${GITHUB_ENV:-}" ]]; then
{
echo "UPDATE_LOGS<<EOF"
echo "$UPDATE_LOGS"
echo "EOF"
} >> "$GITHUB_ENV"
echo "✅ 已写入 GitHub 环境变量 UPDATE_LOGS"
fi