fix(HDMI-Tool): publish_gitea 兼容 assets 纯数组返回; 文档补记本实例需 --insecure

This commit is contained in:
2026-09-10 23:51:39 +08:00
parent a1f6fdd34a
commit a14e3e7621
4 changed files with 11 additions and 5 deletions
+4 -2
View File
@@ -74,7 +74,7 @@ python gen_bw_patterns.py ; python gen_solid_colors.py # 仅当改了图案生
python build_exe.py # → ../release/HDMI-Tool.exe(缺 PyInstaller 会自动 pip install
python build_exe.py --debug # 附加带控制台的 HDMI-Tool-console.exe(调试 --dump 用)
python package_release.py <版本> # → ../release/HDMI-Tool-v<版本>-win64.zip
python publish_gitea.py HDMI-Tool-v<版本>-win64.zip --replace # 上传(需 GITEA_TOKEN 环境变量或 --token)
python publish_gitea.py HDMI-Tool-v<版本>-win64.zip --replace --insecure # 上传(需 GITEA_TOKEN)
```
发布约定:
@@ -83,7 +83,9 @@ python publish_gitea.py HDMI-Tool-v<版本>-win64.zip --replace # 上传(需 G
- **exe 与 pattern_slots.json 改动跟随源码提交入库;zip 永不入库**(.gitignore 已挡);
- publish_gitea.py 幂等:release 已存在则复用,同名资产默认跳过,`--replace` 删旧重传;
- Gitea 实例 `gitea.hulk.wang`API 走 https(443)git 走 ssh(1234)——从 origin 远程自动解析;
自签证书报 SSL 错时`--insecure`
python urllib 连该实例会在部分请求上报 `SSL: UNEXPECTED_EOF`**实际发布需`--insecure`**
- 本实例 Gitea 的 API 兼容性怪癖:`GET /releases/tags/{tag}` 返回的 `assets` 是纯数组,
`GET /releases/{id}``{items:[...]}` —— publish_gitea.py 已按两种形状兼容,勿"简化"回去。
## 6. 已知坑(历史踩过,勿重蹈)
+1 -1
View File
@@ -168,7 +168,7 @@ cd src
python build_exe.py # 打包 → ../release/HDMI-Tool.exe(自动装 PyInstaller
python build_exe.py --debug # 额外出一个带控制台的调试变体(--dump 可用)
python package_release.py 0.1.0 # 组装 release/HDMI-Tool-v0.1.0-win64.zip
python publish_gitea.py HDMI-Tool-v0.1.0-win64.zip # 上传 Gitea Release(需 GITEA_TOKEN)
python publish_gitea.py HDMI-Tool-v0.1.0-win64.zip --insecure # 上传 Gitea Release(需 GITEA_TOKEN)
```
## 9. 注意事项 / FAQ
+5 -1
View File
@@ -78,7 +78,11 @@ class Api:
status, rel = self.request('GET', f'/releases/{release_id}')
if status != 200:
sys.exit(f'读取 release {release_id} 失败: {status} {rel}')
for asset in (rel.get('assets') or {}).get('items', []):
# Gitea 版本差异: assets 可能是 {items:[...]} 或纯数组
assets = rel.get('assets') or []
if isinstance(assets, dict):
assets = assets.get('items', [])
for asset in assets:
if asset['name'] == name:
if not replace:
print(f'资产 {name} 已存在, 跳过(覆盖请加 --replace)')
+1 -1
View File
@@ -41,7 +41,7 @@ LT8619C_Debug_Tools/
cd HDMI-Tool/src
python build_exe.py # 打包 → ../release/HDMI-Tool.exe
python package_release.py <版本> # → ../release/HDMI-Tool-v<版本>-win64.zip
python publish_gitea.py HDMI-Tool-v<版本>-win64.zip # 上传 Gitea Release(需 GITEA_TOKEN)
python publish_gitea.py HDMI-Tool-v<版本>-win64.zip --insecure # 上传 Gitea Release(需 GITEA_TOKEN)
```
## 备注