Skip to content

🐛 fix(release): 支持已发布包的 tag 重跑 - #135

Merged
ZhaoXingPeng merged 1 commit into
mainfrom
fix/release-package-rerun
Sep 11, 2026
Merged

ZhaoXingPeng merged 1 commit into
mainfrom
fix/release-package-rerun

Conversation

@ZhaoXingPeng

Copy link
Copy Markdown
Owner

关联 Issue

Closes #134

做了什么

  • 为 workflow_dispatch 增加 deploy_package 布尔开关,默认值为 true。
  • 已存在 Maven 版本的 tag 重跑传入 deploy_package=false 时,执行 mvn package -DskipTests 验证 JAR/source JAR,跳过不可重复的 Maven deploy。
  • 新 tag push 或手动选择 true 时保持原有 Maven deploy 行为。

实现与架构

  • 该开关只影响发布工作流的 Maven 分发边界,不改变 Java/Web/Windows 构建和 Release 资产流程。
  • 不删除、覆盖或重写公开的 v0.1.0 tag 和 Maven Package;重跑使用现有 tag,版本发布仍由新 tag 触发。

实验记录

实验:检查首轮与第二轮 v0.1.0 run,确认 GitHub Packages 已存在 0.1.0,重复 mvn deploy 返回失败;新增手动输入分支并静态检查 shell 条件。
结果:已有版本可通过 deploy_package=false 跳过重复上传,同时继续执行 package、统一 ZIP、Windows NSIS、校验和及 Release job。
结论:发布重试具备显式、可审计的版本分发控制;正常新版本仍不会静默跳过 Maven deploy。

验证

cd backend && mvn -B test
结果:已在 PR #131 通过;本 PR 未修改后端代码

cd frontend && npm run test && npm run build
结果:已在 PR #131 通过;本 PR 未修改前端代码

cd desktop && npm run build
结果:已在 PR #133 通过;本 PR 未修改桌面代码

git diff --check
结果:通过
  • Backend tests/lint(无后端代码变更)
  • Frontend tests/build(无前端代码变更)
  • Desktop build(无桌面代码变更)
  • 手动验证或截图(待合并后 workflow dispatch)

风险与回滚

  • 风险:重跑已有版本时若错误传入 true,Maven Registry 会拒绝重复版本;输入描述已明确 false 用途。若传入 false 到尚未发布的版本,则不会创建 Maven Package,应改为新 tag 或重新 dispatch。
  • 回滚方式:回退本 PR;不删除、不覆盖已公开的 tag、Package 或 Release,失败发布使用新的补丁版本。

提交前检查

@ZhaoXingPeng
ZhaoXingPeng merged commit d9ec231 into main Sep 11, 2026
3 checks passed
@ZhaoXingPeng
ZhaoXingPeng deleted the fix/release-package-rerun branch September 11, 2026 00:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🐛 fix(release): 支持已发布 Maven 包的 tag 重跑

1 participant