docs:新增远程发版脚本,Release 可用一条命令发布
Gitea 的 Release 全流程走 REST API(实测可行),不用点网页: - docs/release/publish_release.py(纯标准库,无依赖):校验 tag → 建/更新 Release → 上传附件 → 回读自检;支持 --dry-run / --draft / --prerelease / --expect-commit / --no-asset / --insecure - 默认先比对本地 tag 与远端 tag 指向的提交,不一致直接拒绝 —— 2026.11.05 就是 tag 落后 12 个提交,源码包是旧代码且外表看不出来 - .url 里仍是 REPLACE_WITH_YOUR_LINK 时拒绝发版(--force 可跳过) - 附件同名先删再传,脚本可重复执行(幂等) - docs/release/README.md 改为「一条命令发版 + 手工兜底」两套流程,附实测记录 - 根 README 发布流程、AGENTS.md 发版清单挂上脚本用法 实测:临时 tag 走完整流程 创建 201 → 上传 201 → 下载 200(内容正确)→ 重复执行后只有一个同名附件 → 删除干净(release 204 / tag 已清)。 注意 Gitea 附件字段名必须是 attachment,用 file 会 500 "http: no such file"。
This commit is contained in:
1 parent
0897761c47
commit
b88e1a223b
4 files changed
+360
-2
No files matched your search
@@ -204,6 +204,8 @@ msedge --headless=new --disable-gpu --hide-scrollbars --window-size=800,720 \
|
||||
- [ ] **打 tag 前先确认它指向「实际发布的那个提交」**:`git log --oneline -1 v2026.11.xx`,
|
||||
再用 `git ls-remote --tags origin` 看远端解析到的 `^{}` 是不是同一个 sha。
|
||||
tag 与代码错位时,Release 的「源码包」是一份旧代码,排查起来极难想到
|
||||
- [ ] 上面两项可以交给脚本,它先比对 tag 再动手:
|
||||
`python docs/release/publish_release.py --version v2026.11.xx --dry-run`(看过计划后去掉 `--dry-run`)
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in new issue
Block a user