fix(ci): revert to per-dep pip download loop with --pre
Single pip-download call fails because the second fallback branch (without --platform) tries to resolve Windows-only deps like winsdk on Linux, where no wheels exist. The original per-dep loop isolates each failure so the platform-specific branch handles each dep independently. Add --pre throughout for winsdk (1.0.0bNN beta).
This commit is contained in:
+9
-11
@@ -69,20 +69,18 @@ VIS_DEPS=(
|
|||||||
|
|
||||||
ALL_DEPS=("${CORE_DEPS[@]}" "${WIN_DEPS[@]}" "${VIS_DEPS[@]}")
|
ALL_DEPS=("${CORE_DEPS[@]}" "${WIN_DEPS[@]}" "${VIS_DEPS[@]}")
|
||||||
|
|
||||||
# Reuse wheels from a previous cached run — only download if cache is empty
|
# Per-dep loop with --pre (winsdk only ships beta wheels, e.g. 1.0.0b10).
|
||||||
if [ -d "$WHEEL_DIR" ] && [ -n "$(ls -A "$WHEEL_DIR" 2>/dev/null)" ]; then
|
# Single-call resolution fails when one Windows-only dep can't resolve in
|
||||||
echo "Using cached wheels from $WHEEL_DIR"
|
# the Linux fallback branch, so we resolve each dep independently.
|
||||||
else
|
for dep in "${ALL_DEPS[@]}"; do
|
||||||
# Single pip-download call — pip resolves all deps together, much faster than a loop.
|
pip download --pre --quiet --no-cache-dir --dest "$WHEEL_DIR" \
|
||||||
# --pre is required because winsdk only ships beta wheels (1.0.0bNN).
|
|
||||||
pip download --pre --quiet --dest "$WHEEL_DIR" \
|
|
||||||
--platform win_amd64 --python-version "${PYTHON_SHORT}" \
|
--platform win_amd64 --python-version "${PYTHON_SHORT}" \
|
||||||
--implementation cp --only-binary :all: \
|
--implementation cp --only-binary :all: \
|
||||||
"${ALL_DEPS[@]}" 2>/dev/null || \
|
"$dep" 2>/dev/null || \
|
||||||
pip download --pre --quiet --dest "$WHEEL_DIR" \
|
pip download --pre --quiet --no-cache-dir --dest "$WHEEL_DIR" \
|
||||||
--only-binary :all: \
|
--only-binary :all: \
|
||||||
"${ALL_DEPS[@]}"
|
"$dep"
|
||||||
fi
|
done
|
||||||
|
|
||||||
# Remove numpy 2.x wheels pulled as transitive deps (soundcard requires <2.0)
|
# Remove numpy 2.x wheels pulled as transitive deps (soundcard requires <2.0)
|
||||||
for f in "$WHEEL_DIR"/numpy-2*; do
|
for f in "$WHEEL_DIR"/numpy-2*; do
|
||||||
|
|||||||
Reference in New Issue
Block a user