diff --git a/.gitea/workflows/changelog_and_release.yml b/.gitea/workflows/changelog_and_release.yml index bad3226..9bdd150 100644 --- a/.gitea/workflows/changelog_and_release.yml +++ b/.gitea/workflows/changelog_and_release.yml @@ -550,14 +550,25 @@ jobs: f"# :memo: CHANGELOG\n\n{changelog_content}" ) - with open(changelog_file, 'w', encoding='utf-8') as f: - f.write(new_content) - - print(f"✅ CHANGELOG updated successfully") - print(f" Added {len(commits)} commits to version {changelog_version}") + # 检查内容是否真的改变 + content_changed = (new_content != existing_content) - with open('/tmp/changelog_updated.txt', 'w') as f: - f.write('true') + if content_changed: + with open(changelog_file, 'w', encoding='utf-8') as f: + f.write(new_content) + + print(f"✅ CHANGELOG updated successfully") + print(f" Added {len(commits)} commits to version {changelog_version}") + + with open('/tmp/changelog_updated.txt', 'w') as f: + f.write('true') + else: + print(f"ℹ️ No new content to add") + print(f" Version {changelog_version} already contains all {len(commits)} commits") + print(f" This usually happens when recreating a deleted tag") + + with open('/tmp/changelog_updated.txt', 'w') as f: + f.write('false') PYSCRIPT UPDATED=$(cat /tmp/changelog_updated.txt) @@ -879,9 +890,13 @@ jobs: --- - ℹ️ **无有效提交** + ℹ️ **无新内容需要更新** - 在标签之间未找到有效的提交记录。 + 可能的原因: + - 在标签之间未找到有效的提交记录 + - 或者版本 \`${{ env.CHANGELOG_VERSION }}\` 已包含所有相关提交(常见于重新创建已删除的 tag) + + 💡 如果你删除了 tag 后重新创建,CHANGELOG 中的内容已经存在,无需重复添加。 EOFNOCOMMIT fi @@ -939,7 +954,14 @@ jobs: echo " - Release 已创建" echo " - CHANGELOG.md 已上传为附件" else - echo "ℹ️ 无有效提交,未生成 CHANGELOG" + echo "ℹ️ 无新内容需要更新" + echo "" + echo "可能的原因:" + echo " - 在标签之间未找到有效的提交记录" + echo " - 或者版本 ${{ env.CHANGELOG_VERSION }} 已包含所有相关提交" + echo "" + echo "💡 提示: 如果你删除了 tag 后重新创建,CHANGELOG 中的" + echo " 内容已经存在,这是正常现象,无需重复添加。" fi echo ""