From 47db85d01d62c83cfb0206001c3e7fad12fa092c Mon Sep 17 00:00:00 2001 From: "jif2.zhang" Date: Fri, 11 Sep 2026 17:29:31 +0800 Subject: [PATCH] =?UTF-8?q?fix(ci):=20OTA=20=E7=A7=81=E9=92=A5=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E5=86=99=E6=96=87=E4=BB=B6=E7=AD=BE=E5=90=8D,=20?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E9=85=8D=E7=BD=AE=E4=B8=AD=E5=BF=83=E5=AD=98?= =?UTF-8?q?=E5=82=A8=E7=9A=84=E5=9D=8F=E5=AF=86=E9=92=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 配置中心原 MINISIGN_PRIVATE_KEY 缺首行 untrusted comment (只含 base64), minisign 报 'Error while loading the secret key file' - 已删除坏条目 (cfg-mtwmbmkd-bbiihv), 保留正确完整值 (cfg-mtwr5c2m-99r5fh) - docker-build.yml / ota-build.yml 不再用 GITHUB_ENV 多行 heredoc, 改为把私钥写入 ota-package/hotswap.key, build-ota.mjs --key 显式指定 - 本地全链路验证: 配置中心拉取 → 写文件 → 签名 → 用 tauri.conf.json 公钥验签通过 --- .gitea/workflows/docker-build.yml | 23 +++++++++++------------ .gitea/workflows/ota-build.yml | 26 +++++++++++++++----------- 2 files changed, 26 insertions(+), 23 deletions(-) diff --git a/.gitea/workflows/docker-build.yml b/.gitea/workflows/docker-build.yml index 363c1a4..e3cfdcb 100644 --- a/.gitea/workflows/docker-build.yml +++ b/.gitea/workflows/docker-build.yml @@ -43,6 +43,8 @@ jobs: run: sudo apt-get update && sudo apt-get install -y minisign - name: Fetch config center (minisign key) + # 私钥直接写文件 (build-ota.mjs 默认 KEY_PATH 即 ota-package/hotswap.key), + # 绕开 GITHUB_ENV 多行值在 Gitea Actions 下不可靠的问题 run: | set -euo pipefail export CONFIG_CENTER_URL="${CONFIG_CENTER_URL:-$REGISTRY_URL_FALLBACK}" @@ -55,19 +57,15 @@ jobs: req.add_header("Authorization", "Bearer " + token) with urllib.request.urlopen(req, timeout=20) as r: data = json.load(r).get("data", []) - wanted = {} - for cfg in data: - if cfg.get("key") == "MINISIGN_PRIVATE_KEY": - wanted[cfg["key"]] = cfg.get("value", "") - with open(os.environ["GITHUB_ENV"], "a", encoding="utf-8") as f: - for k, v in wanted.items(): - if "\n" in v or v.startswith("untrusted comment"): - f.write(f"{k}<