mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-06-14 10:29:52 +08:00
🐛 fix(driver-manager): 修复驱动安装交互与 DuckDB Windows 发布链路
- 修复单驱动安装期间右侧目录操作被错误禁用的问题 - 调整 DuckDB Windows 优先下载专属 zip 并兼容带 query 的签名链接 - 补齐本地构建与 CI 发布的 duckdb-driver.zip 产物及回归测试
This commit is contained in:
22
.github/workflows/dev-build.yml
vendored
22
.github/workflows/dev-build.yml
vendored
@@ -434,6 +434,28 @@ jobs:
|
||||
./cmd/optional-driver-agent
|
||||
fi
|
||||
bash ./tools/compress-driver-artifact.sh "${OUTPUT_PATH}" "$TARGET_PLATFORM" "${{ matrix.os_name }}/${OUTPUT}"
|
||||
if [ "$DRIVER" = "duckdb" ] && [ -n "$DUCKDB_LIB_DIR" ]; then
|
||||
DUCKDB_ZIP_PATH="${OUTDIR}/duckdb-driver.zip" \
|
||||
DUCKDB_AGENT_PATH="${OUTPUT_PATH}" \
|
||||
DUCKDB_DLL_PATH="${OUTDIR}/duckdb.dll" \
|
||||
python3 - <<'PY'
|
||||
import os
|
||||
import zipfile
|
||||
|
||||
zip_path = os.environ["DUCKDB_ZIP_PATH"]
|
||||
entries = [
|
||||
("Windows/duckdb-driver-agent-windows-amd64.exe", os.environ["DUCKDB_AGENT_PATH"]),
|
||||
("Windows/duckdb.dll", os.environ["DUCKDB_DLL_PATH"]),
|
||||
]
|
||||
|
||||
with zipfile.ZipFile(zip_path, "w", compression=zipfile.ZIP_DEFLATED) as zf:
|
||||
for arcname, src in entries:
|
||||
if not os.path.isfile(src):
|
||||
raise FileNotFoundError(src)
|
||||
zf.write(src, arcname)
|
||||
PY
|
||||
echo "📦 已生成 DuckDB Windows 专属驱动包: ${DUCKDB_ZIP_PATH}"
|
||||
fi
|
||||
done
|
||||
|
||||
bash ./tools/verify-driver-agent-revisions.sh \
|
||||
|
||||
23
.github/workflows/release.yml
vendored
23
.github/workflows/release.yml
vendored
@@ -426,6 +426,28 @@ jobs:
|
||||
./cmd/optional-driver-agent
|
||||
fi
|
||||
bash ./tools/compress-driver-artifact.sh "${OUTPUT_PATH}" "$TARGET_PLATFORM" "${{ matrix.os_name }}/${OUTPUT}"
|
||||
if [ "$DRIVER" = "duckdb" ] && [ -n "$DUCKDB_LIB_DIR" ]; then
|
||||
DUCKDB_ZIP_PATH="${OUTDIR}/duckdb-driver.zip" \
|
||||
DUCKDB_AGENT_PATH="${OUTPUT_PATH}" \
|
||||
DUCKDB_DLL_PATH="${OUTDIR}/duckdb.dll" \
|
||||
python3 - <<'PY'
|
||||
import os
|
||||
import zipfile
|
||||
|
||||
zip_path = os.environ["DUCKDB_ZIP_PATH"]
|
||||
entries = [
|
||||
("Windows/duckdb-driver-agent-windows-amd64.exe", os.environ["DUCKDB_AGENT_PATH"]),
|
||||
("Windows/duckdb.dll", os.environ["DUCKDB_DLL_PATH"]),
|
||||
]
|
||||
|
||||
with zipfile.ZipFile(zip_path, "w", compression=zipfile.ZIP_DEFLATED) as zf:
|
||||
for arcname, src in entries:
|
||||
if not os.path.isfile(src):
|
||||
raise FileNotFoundError(src)
|
||||
zf.write(src, arcname)
|
||||
PY
|
||||
echo "📦 已生成 DuckDB Windows 专属驱动包: ${DUCKDB_ZIP_PATH}"
|
||||
fi
|
||||
done
|
||||
|
||||
bash ./tools/verify-driver-agent-revisions.sh \
|
||||
@@ -707,6 +729,7 @@ jobs:
|
||||
REQUIRED_FILES+=("drivers/Windows/${driver}-driver-agent-windows-arm64.exe")
|
||||
else
|
||||
REQUIRED_FILES+=("drivers/Windows/duckdb.dll")
|
||||
REQUIRED_FILES+=("drivers/Windows/duckdb-driver.zip")
|
||||
fi
|
||||
|
||||
for file in "${REQUIRED_FILES[@]}"; do
|
||||
|
||||
Reference in New Issue
Block a user