mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-04-18 16:30:32 +08:00
refactor: replace inline log fetching with dedicated script for better maintainability
This commit is contained in:
parent
02ff2d3c2e
commit
d193460649
30
.github/workflows/autobuild.yml
vendored
30
.github/workflows/autobuild.yml
vendored
@ -35,20 +35,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Fetch UPDATE logs
|
- name: Fetch UPDATE logs
|
||||||
id: fetch_update_logs
|
id: fetch_update_logs
|
||||||
run: |
|
run: bash ./scripts/extract_update_logs.sh
|
||||||
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
|
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
- uses: pnpm/action-setup@v4
|
- uses: pnpm/action-setup@v4
|
||||||
@ -509,20 +496,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Fetch UPDATE logs
|
- name: Fetch UPDATE logs
|
||||||
id: fetch_update_logs
|
id: fetch_update_logs
|
||||||
run: |
|
run: bash ./scripts/extract_update_logs.sh
|
||||||
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
|
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
- name: Install Node
|
- name: Install Node
|
||||||
|
|||||||
30
.github/workflows/release.yml
vendored
30
.github/workflows/release.yml
vendored
@ -73,20 +73,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Fetch UPDATE logs
|
- name: Fetch UPDATE logs
|
||||||
id: fetch_update_logs
|
id: fetch_update_logs
|
||||||
run: |
|
run: bash ./scripts/extract_update_logs.sh
|
||||||
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
|
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
- name: Set Env
|
- name: Set Env
|
||||||
@ -552,20 +539,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Fetch UPDATE logs
|
- name: Fetch UPDATE logs
|
||||||
id: fetch_update_logs
|
id: fetch_update_logs
|
||||||
run: |
|
run: bash ./scripts/extract_update_logs.sh
|
||||||
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
|
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
- name: Install Node
|
- name: Install Node
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
# v2.4.4
|
## v2.4.4
|
||||||
|
|
||||||
### 🐞 修复问题
|
### 🐞 修复问题
|
||||||
|
|
||||||
|
|||||||
43
scripts/extract_update_logs.sh
Executable file
43
scripts/extract_update_logs.sh
Executable 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
|
||||||
Loading…
x
Reference in New Issue
Block a user