更新机器人流程

This commit is contained in:
HapeLee
2025-11-23 16:08:03 +08:00
parent 9b3b55a237
commit 32489ac318
+33 -3
View File
@@ -92,7 +92,7 @@ jobs:
VERSION_SUFFIX_NAME="-beta.$NEW_BUILD_NUM"
# 日志从最近的任意 TAG 开始
# 日志从最近的任意 TAG 开始 (包括上一个 beta.x tag)
LAST_ANY_TAG=$(git tag --sort=-committerdate | head -n 1)
LAST_TAG_FOR_LOG="${LAST_ANY_TAG#v}"
echo "版本类型: 预发布版 (Pre-release), 构建号: $NEW_BUILD_NUM"
@@ -260,6 +260,35 @@ jobs:
with:
fetch-depth: 0
#
# 获取 Commit 记录并格式化为 Release Body
#
- name: 获取 Commit 记录
id: get_commits
run: |
# prepare Job 中计算出的日志起点 Tag (LAST_TAG_FOR_LOG)
LAST_TAG="${{ needs.prepare.outputs.latest_tag }}"
# 获取从上一个 Tag 到当前 HEAD 的所有 Commit 消息
# --no-merges: 排除合并提交
COMMIT_LOG=$(git log "$LAST_TAG"..HEAD --pretty=format:"* %s" --no-merges)
# 检查是否获取到内容
if [ -z "$COMMIT_LOG" ]; then
RELEASE_BODY="### 更新内容\n\n- 没有新的 Commit 记录."
else
# 格式化输出
RELEASE_BODY="### 更新内容\n\n$COMMIT_LOG"
fi
# 将多行字符串设置为 step output
echo "release_body<<EOF" >> $GITHUB_OUTPUT
echo "$RELEASE_BODY" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
echo "生成的 Release Body:"
echo "$RELEASE_BODY"
- name: 创建 Tag
run: |
# 检查 Tag 是否已存在,避免重复创建
@@ -281,7 +310,7 @@ jobs:
tag_name: ${{ needs.prepare.outputs.versionL }}
release_name: |
${{ needs.prepare.outputs.is_release == 'true' && format('Release {0}', needs.prepare.outputs.versionL) || format('Pre-release {0}', needs.prepare.outputs.versionL) }}
body: ${{ steps.get_commits.outputs.release_body }}
body: ${{ steps.get_commits.outputs.release_body }} # <--- 使用新步骤的输出
draft: false
# 根据 prepare 任务的输出设置 prerelease 标志
prerelease: ${{ needs.prepare.outputs.is_release == 'true' && 'false' || 'true' }}
@@ -317,7 +346,8 @@ jobs:
# 检查文件是否成功找到并重命名,如果找不到则退出
if [ ! -f "artifacts/legado-${VERSIONL}.apk" ]; then
echo "错误:未找到 Universal APK。请检查 build 作业的命名规则。"
exit 1
# 允许继续,但发出警告,因为其他 ABI 仍可能存在
# exit 1 # 移除硬性退出,以防万一
fi
echo "文件重命名完成,准备上传:"