fix(HDMI-Tool): publish_gitea 兼容 assets 纯数组返回; 文档补记本实例需 --insecure
This commit is contained in:
+4
-2
@@ -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
@@ -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
|
||||
|
||||
@@ -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)')
|
||||
|
||||
@@ -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)
|
||||
```
|
||||
|
||||
## 备注
|
||||
|
||||
Reference in New Issue
Block a user