- 「发布到 Release」以前只有在推 v* tag 时才跑,普通推送/PR 会显示 skipped, 容易以为坏了;现在条件写成 always() && (tag || 手动 publish) - workflow_dispatch 增加 publish 布尔输入:不打 tag 也能发版,用 v<版本> 作为 tag(不存在就按当前提交新建),省得同步工具漏推 tag - Release 任务里补上 checkout 和版本号读取,Release 标题用 VoiletMark <版本> - 用 always() 代替 !cancelled(),ARM runner 缺失导致 package 失败时也能收尾; 仍然会先检查 x86_64 的包在不在,缺了就不发 - README 写清楚两种发版方式和「skipped 是正常的」这一条