feat(update): dev 通道同步生成 latest-dev.json 静态清单

- dev-build 发版流程上传 latest-dev.json 到 dev-latest Release
- 客户端 dev 通道优先读取 releases/download/dev-latest/latest-dev.json
- build-release 本地打包按版本自动选择 latest / latest-dev
- SHA256SUMS 生成时跳过清单文件本身
This commit is contained in:
Syngnat
2026-07-09 12:38:18 +08:00
parent 3beab030f4
commit d067e2c00a
3 changed files with 38 additions and 9 deletions

View File

@@ -376,14 +376,19 @@ else
echo -e "${YELLOW} ⚠️ 未找到 sha256sum/shasum跳过校验文件生成。${NC}"
fi
echo -e "${GREEN}📄 生成静态更新清单 latest.json...${NC}"
echo -e "${GREEN}📄 生成静态更新清单...${NC}"
if command -v python3 &> /dev/null; then
TAG_FOR_MANIFEST="v${VERSION#v}"
CHANNEL_FOR_MANIFEST="latest"
OUT_MANIFEST="$DIST_DIR/latest.json"
# 正式版latest.jsondev/test 版本latest-dev.json对应客户端 dev 通道)
case "$VERSION" in
*dev*|*test*|*-*)
# 本地/测试版本默认打 latest.json发正式版时由 CI 使用 git tag
dev-*|*-dev*|*dev*|*test*)
TAG_FOR_MANIFEST="dev-latest"
CHANNEL_FOR_MANIFEST="dev"
OUT_MANIFEST="$DIST_DIR/latest-dev.json"
;;
*)
TAG_FOR_MANIFEST="v${VERSION#v}"
CHANNEL_FOR_MANIFEST="latest"
OUT_MANIFEST="$DIST_DIR/latest.json"
;;
esac
if python3 tools/generate-update-latest-manifest.py \
@@ -392,12 +397,12 @@ if command -v python3 &> /dev/null; then
--tag "$TAG_FOR_MANIFEST" \
--channel "$CHANNEL_FOR_MANIFEST" \
--output "$OUT_MANIFEST"; then
echo -e "${GREEN} ✅ 已生成 $OUT_MANIFEST${NC}"
echo -e "${GREEN} ✅ 已生成 $OUT_MANIFEST (channel=${CHANNEL_FOR_MANIFEST})${NC}"
else
echo -e "${YELLOW} ⚠️ 生成 latest.json 失败(不影响本地产物,正式发版由 CI 生成)${NC}"
echo -e "${YELLOW} ⚠️ 生成更新清单失败(不影响本地产物,正式/dev 发版由 CI 生成)${NC}"
fi
else
echo -e "${YELLOW} ⚠️ 未找到 python3跳过 latest.json${NC}"
echo -e "${YELLOW} ⚠️ 未找到 python3跳过更新清单${NC}"
fi
echo ""