diff --git a/docs/git-branching.md b/docs/git-branching.md index 3bf75eb..0fca61d 100644 --- a/docs/git-branching.md +++ b/docs/git-branching.md @@ -414,6 +414,13 @@ GITCODE_REPO=JianFeeeee/homeagent-sdk ASSET_DIR=/dist/release \ - 脚本先向 `releases//upload_url` 取 **OBS 预签名 URL** 再 PUT ⇒ **release 条目必须先存在**; - alpha/beta 的产物可以上传,但必须在 release 条目上勾选**预发布**标志(§2.4); - 校验和必须覆盖**全部**附件,否则等于没有校验。 +- ❗❗**gitcode 的 release 附件是"同名只写一次"**(实测:同名两次不同内容,下载始终是第一次那份; + 且没有可用的删除接口 —— release JSON 不含 `id`,附件列表接口 404,`DELETE .../attach_files/<名>` + 只要数字 id)。**后果**:`SHA256SUMS` 若第一次上传时只覆盖了部分平台,之后**永远改不回来** —— + 1.3.1–1.3.10 都踩了:首次只传了 linux/amd64,后来补 arm64/darwin/win 时合并重传**全部无效**, + 线上那份至今只有 4 项。 + ⇒ **纪律:首次上传 `SHA256SUMS` 前必须已打包全部平台**;分批上传时**先传产物、最后传校验和**, + 且校验和只传一次。补救只能换名(如 `SHA256SUMS.complete`)或重建 release(要重传全部产物)。 - ❗**流水线脚本必须 `set -e`(或显式检查每步)**:否则某一步失败(例如驱动脚本在 tag 里 不存在)之后它仍会继续跑到上传,把**半成品校验和**推上去覆盖全量的那份。 (实测:v1.3.10 的校验和被 4 项覆盖掉,只能重建。)