Backup old wheels before rebuilding and restore on failure
This commit is contained in:
@@ -202,11 +202,17 @@ if [ "$NO_BUILD" = false ]; then
|
|||||||
if [ "$REBUILD_FLASHINFER" = true ] || [ "$FLASHINFER_WHEELS_EXIST" = false ]; then
|
if [ "$REBUILD_FLASHINFER" = true ] || [ "$FLASHINFER_WHEELS_EXIST" = false ]; then
|
||||||
if [ "$REBUILD_FLASHINFER" = true ]; then
|
if [ "$REBUILD_FLASHINFER" = true ]; then
|
||||||
echo "Rebuilding FlashInfer wheels (--rebuild-flashinfer specified)..."
|
echo "Rebuilding FlashInfer wheels (--rebuild-flashinfer specified)..."
|
||||||
rm -f ./wheels/flashinfer*.whl
|
|
||||||
else
|
else
|
||||||
echo "No FlashInfer wheels found in ./wheels/ — building..."
|
echo "No FlashInfer wheels found in ./wheels/ — building..."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Back up existing flashinfer wheels; restore them if the build fails
|
||||||
|
FI_BACKUP="./wheels/.backup-flashinfer"
|
||||||
|
rm -rf "$FI_BACKUP" && mkdir -p "$FI_BACKUP"
|
||||||
|
for f in ./wheels/flashinfer*.whl; do
|
||||||
|
[ -f "$f" ] && mv "$f" "$FI_BACKUP/"
|
||||||
|
done
|
||||||
|
|
||||||
FI_CMD=("docker" "build"
|
FI_CMD=("docker" "build"
|
||||||
"--target" "flashinfer-export"
|
"--target" "flashinfer-export"
|
||||||
"--output" "type=local,dest=./wheels"
|
"--output" "type=local,dest=./wheels"
|
||||||
@@ -220,9 +226,16 @@ if [ "$NO_BUILD" = false ]; then
|
|||||||
|
|
||||||
echo "FlashInfer build command: ${FI_CMD[*]}"
|
echo "FlashInfer build command: ${FI_CMD[*]}"
|
||||||
FI_START=$(date +%s)
|
FI_START=$(date +%s)
|
||||||
"${FI_CMD[@]}"
|
if "${FI_CMD[@]}"; then
|
||||||
FI_END=$(date +%s)
|
FI_END=$(date +%s)
|
||||||
FLASHINFER_BUILD_TIME=$((FI_END - FI_START))
|
FLASHINFER_BUILD_TIME=$((FI_END - FI_START))
|
||||||
|
rm -rf "$FI_BACKUP"
|
||||||
|
else
|
||||||
|
echo "FlashInfer build failed — restoring previous wheels..."
|
||||||
|
mv "$FI_BACKUP"/flashinfer*.whl ./wheels/ 2>/dev/null || true
|
||||||
|
rm -rf "$FI_BACKUP"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo "FlashInfer wheels already present in ./wheels/ — skipping build."
|
echo "FlashInfer wheels already present in ./wheels/ — skipping build."
|
||||||
fi
|
fi
|
||||||
@@ -238,11 +251,17 @@ if [ "$NO_BUILD" = false ]; then
|
|||||||
if [ "$REBUILD_VLLM" = true ] || [ "$VLLM_WHEELS_EXIST" = false ]; then
|
if [ "$REBUILD_VLLM" = true ] || [ "$VLLM_WHEELS_EXIST" = false ]; then
|
||||||
if [ "$REBUILD_VLLM" = true ]; then
|
if [ "$REBUILD_VLLM" = true ]; then
|
||||||
echo "Rebuilding vLLM wheels (--rebuild-vllm specified)..."
|
echo "Rebuilding vLLM wheels (--rebuild-vllm specified)..."
|
||||||
rm -f ./wheels/vllm*.whl
|
|
||||||
else
|
else
|
||||||
echo "No vLLM wheels found in ./wheels/ — building..."
|
echo "No vLLM wheels found in ./wheels/ — building..."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Back up existing vllm wheels; restore them if the build fails
|
||||||
|
VLLM_BACKUP="./wheels/.backup-vllm"
|
||||||
|
rm -rf "$VLLM_BACKUP" && mkdir -p "$VLLM_BACKUP"
|
||||||
|
for f in ./wheels/vllm*.whl; do
|
||||||
|
[ -f "$f" ] && mv "$f" "$VLLM_BACKUP/"
|
||||||
|
done
|
||||||
|
|
||||||
VLLM_CMD=("docker" "build"
|
VLLM_CMD=("docker" "build"
|
||||||
"--target" "vllm-export"
|
"--target" "vllm-export"
|
||||||
"--output" "type=local,dest=./wheels"
|
"--output" "type=local,dest=./wheels"
|
||||||
@@ -267,9 +286,16 @@ if [ "$NO_BUILD" = false ]; then
|
|||||||
|
|
||||||
echo "vLLM build command: ${VLLM_CMD[*]}"
|
echo "vLLM build command: ${VLLM_CMD[*]}"
|
||||||
VLLM_START=$(date +%s)
|
VLLM_START=$(date +%s)
|
||||||
"${VLLM_CMD[@]}"
|
if "${VLLM_CMD[@]}"; then
|
||||||
VLLM_END=$(date +%s)
|
VLLM_END=$(date +%s)
|
||||||
VLLM_BUILD_TIME=$((VLLM_END - VLLM_START))
|
VLLM_BUILD_TIME=$((VLLM_END - VLLM_START))
|
||||||
|
rm -rf "$VLLM_BACKUP"
|
||||||
|
else
|
||||||
|
echo "vLLM build failed — restoring previous wheels..."
|
||||||
|
mv "$VLLM_BACKUP"/vllm*.whl ./wheels/ 2>/dev/null || true
|
||||||
|
rm -rf "$VLLM_BACKUP"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo "vLLM wheels already present in ./wheels/ — skipping build."
|
echo "vLLM wheels already present in ./wheels/ — skipping build."
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user