️ perf(driver/release): 优化驱动镜像下载与发布链路

- 将各平台驱动拆分为独立 ZIP,并为 DuckDB 同包携带运行库
- 仅生成 ZIP 下载候选,按 Gatewaysentry 与 GitHub 短测速结果调整优先级
- 扩展发布索引的归档摘要与条目元数据,强化跨平台资产校验
- 禁止裸驱动与 CI 总包进入 VPS 镜像,并校验载荷摘要和索引一致性
- 显式控制驱动镜像发布,自动清理失败暂存、过期目录和旧版本
This commit is contained in:
Syngnat
2026-07-23 16:10:08 +08:00
parent dd9a56a70d
commit 84d6007be9
14 changed files with 2493 additions and 159 deletions

View File

@@ -48,6 +48,19 @@ case "${staging_dir}" in
;;
esac
lock_dir=""
cleanup() {
local exit_code=$?
trap - EXIT
set +e
if [[ -n "${lock_dir}" ]]; then
rmdir "${lock_dir}" 2>/dev/null || true
fi
rm -rf -- "${staging_dir}"
exit "${exit_code}"
}
trap cleanup EXIT
[[ "${channel}" == "stable" || "${channel}" == "dev" ]] || {
echo "invalid channel: ${channel}" >&2
exit 1
@@ -77,7 +90,6 @@ if command -v flock >/dev/null 2>&1; then
else
lock_dir="${root}/.deploy.lock.d"
mkdir "${lock_dir}"
trap 'rmdir "${lock_dir}" 2>/dev/null || true' EXIT
fi
if command -v sha256sum >/dev/null 2>&1; then