ci(xpu): harden nightly + PR XPU CI (HF login / tag fetch / docker push retries) (#32390)

This commit is contained in:
ashwini rathi
2026-08-06 08:25:53 +08:00
committed by GitHub
parent 3869fe556f
commit ae5f8c94b7
3 changed files with 52 additions and 5 deletions
+36 -3
View File
@@ -69,7 +69,18 @@ jobs:
# Diffusion extras (needed by test_xpu_flux2_dev, test_xpu_zimage_turbo).
# Pins mirror python/pyproject_xpu.toml [project.optional-dependencies.diffusion].
docker exec ci_sglang_xpu /opt/venv/bin/python3 -m pip install --no-cache-dir "sglang[diffusion]"
docker exec ci_sglang_xpu /bin/bash -c '/opt/venv/bin/hf auth login --token ${HF_TOKEN}'
# HF /whoami-v2 is aggressively rate-limited and the three matrix
# jobs (1/2/4-GPU) all hit it at the same second under a scheduled
# run. Retry with linear backoff + jitter to desynchronize them.
docker exec ci_sglang_xpu /bin/bash -c '
for i in 1 2 3 4 5; do
/opt/venv/bin/hf auth login --token "${HF_TOKEN}" && exit 0
sleep_secs=$((i * 15 + RANDOM % 15))
echo "hf auth login failed (attempt $i), retrying in ${sleep_secs}s..."
sleep "${sleep_secs}"
done
exit 1
'
- name: Download olmOCR-bench dataset (for test_deepseek_ocr_2_olmbench)
timeout-minutes: 30
@@ -143,7 +154,18 @@ jobs:
# Diffusion extras (needed by test_xpu_flux2_dev, test_xpu_zimage_turbo).
# Pins mirror python/pyproject_xpu.toml [project.optional-dependencies.diffusion].
docker exec ci_sglang_xpu /opt/venv/bin/python3 -m pip install --no-cache-dir "sglang[diffusion]"
docker exec ci_sglang_xpu /bin/bash -c '/opt/venv/bin/hf auth login --token ${HF_TOKEN}'
# HF /whoami-v2 is aggressively rate-limited and the three matrix
# jobs (1/2/4-GPU) all hit it at the same second under a scheduled
# run. Retry with linear backoff + jitter to desynchronize them.
docker exec ci_sglang_xpu /bin/bash -c '
for i in 1 2 3 4 5; do
/opt/venv/bin/hf auth login --token "${HF_TOKEN}" && exit 0
sleep_secs=$((i * 15 + RANDOM % 15))
echo "hf auth login failed (attempt $i), retrying in ${sleep_secs}s..."
sleep "${sleep_secs}"
done
exit 1
'
- name: Nightly Test (2-GPU XPU)
timeout-minutes: 240
@@ -206,7 +228,18 @@ jobs:
# Diffusion extras (needed by test_xpu_flux2_dev, test_xpu_zimage_turbo).
# Pins mirror python/pyproject_xpu.toml [project.optional-dependencies.diffusion].
docker exec ci_sglang_xpu /opt/venv/bin/python3 -m pip install --no-cache-dir "sglang[diffusion]"
docker exec ci_sglang_xpu /bin/bash -c '/opt/venv/bin/hf auth login --token ${HF_TOKEN}'
# HF /whoami-v2 is aggressively rate-limited and the three matrix
# jobs (1/2/4-GPU) all hit it at the same second under a scheduled
# run. Retry with linear backoff + jitter to desynchronize them.
docker exec ci_sglang_xpu /bin/bash -c '
for i in 1 2 3 4 5; do
/opt/venv/bin/hf auth login --token "${HF_TOKEN}" && exit 0
sleep_secs=$((i * 15 + RANDOM % 15))
echo "hf auth login failed (attempt $i), retrying in ${sleep_secs}s..."
sleep "${sleep_secs}"
done
exit 1
'
- name: Nightly Test (4-GPU XPU)
timeout-minutes: 480
+6
View File
@@ -106,6 +106,9 @@ jobs:
docker exec ci_sglang_xpu /opt/venv/bin/python3 -m pip install pytest expecttest ray huggingface_hub tabulate "lmcache>=0.3.9"
docker exec ci_sglang_xpu /opt/venv/bin/python3 -m pip uninstall -y flashinfer-python sgl-kernel sglang
docker exec ci_sglang_xpu cp /sglang-checkout/python/pyproject_xpu.toml /sglang-checkout/python/pyproject.toml
# Fetch tags so setuptools_scm resolves a real version instead of
# falling back to 0.0.0 on a shallow/tag-less checkout.
docker exec -w /sglang-checkout ci_sglang_xpu git fetch origin '+refs/tags/*:refs/tags/*' --force
docker exec -w /sglang-checkout/python ci_sglang_xpu /opt/venv/bin/python3 -m pip install --no-cache-dir . --extra-index-url https://download.pytorch.org/whl/xpu
docker exec ci_sglang_xpu /opt/venv/bin/python3 -m pip install --no-cache-dir --no-deps xgrammar==0.1.33
docker exec ci_sglang_xpu /bin/bash -c '/opt/venv/bin/hf auth login --token ${HF_TOKEN}'
@@ -195,6 +198,9 @@ jobs:
docker exec ci_sglang_xpu /opt/venv/bin/python3 -m pip install pytest expecttest ray huggingface_hub tabulate "lmcache>=0.3.9"
docker exec ci_sglang_xpu /opt/venv/bin/python3 -m pip uninstall -y flashinfer-python sgl-kernel sglang
docker exec ci_sglang_xpu cp /sglang-checkout/python/pyproject_xpu.toml /sglang-checkout/python/pyproject.toml
# Fetch tags so setuptools_scm resolves a real version instead of
# falling back to 0.0.0 on a shallow/tag-less checkout.
docker exec -w /sglang-checkout ci_sglang_xpu git fetch origin '+refs/tags/*:refs/tags/*' --force
docker exec -w /sglang-checkout/python ci_sglang_xpu /opt/venv/bin/python3 -m pip install --no-cache-dir . --extra-index-url https://download.pytorch.org/whl/xpu
docker exec ci_sglang_xpu /opt/venv/bin/python3 -m pip install --no-cache-dir --no-deps xgrammar==0.1.33
docker exec ci_sglang_xpu /bin/bash -c '/opt/venv/bin/hf auth login --token ${HF_TOKEN}'
@@ -55,5 +55,13 @@ jobs:
- name: Push intel/sglang-dev
run: |
docker push "intel/sglang-dev:${{ env.IMAGE_TAG }}"
docker push "intel/sglang-dev:latest"
push_with_retry() {
for i in 1 2 3 4 5; do
docker push "$1" && return 0
echo "push failed (attempt $i), retrying in $((i*15))s..."
sleep $((i*15))
done
return 1
}
push_with_retry "intel/sglang-dev:${{ env.IMAGE_TAG }}"
push_with_retry "intel/sglang-dev:latest"