Signed-off-by: wangyu <410167048@qq.com> Signed-off-by: [Your Name] <your.email@example.com>
232 lines
8.4 KiB
YAML
232 lines
8.4 KiB
YAML
env:
|
|
VLLM_WORKER_MULTIPROC_METHOD: spawn
|
|
VLLM_USE_FLASHINFER_MOE_FP16: 0
|
|
HF_HUB_DOWNLOAD_TIMEOUT: 300
|
|
HF_HUB_ETAG_TIMEOUT: 60
|
|
|
|
steps:
|
|
- label: "Simple · CPU Coverage Test"
|
|
key: weekly-simple-cpu-coverage
|
|
depends_on: upload-weekly-pipeline
|
|
if: build.env("WEEKLY") == "1"
|
|
timeout_in_minutes: 60
|
|
commands:
|
|
- |
|
|
set +e
|
|
REPORT="coverage-core-model-cpu-$${BUILDKITE_STEP_ID:-local}.xml"
|
|
pytest -sv tests/ -m 'core_model and cpu' --cov=vllm_omni --cov-report=term-missing:skip-covered --cov-report=xml:$${REPORT}
|
|
EXIT=$$?
|
|
gzip -9 -f "$${REPORT}"
|
|
buildkite-agent artifact upload "$${REPORT}.gz"
|
|
exit $$EXIT
|
|
mirror_hardwares: l4_1
|
|
|
|
- group: "Reliability Test"
|
|
depends_on: upload-weekly-pipeline
|
|
if: build.env("WEEKLY") == "1" || build.pull_request.labels includes "weekly-test"
|
|
steps:
|
|
|
|
- label: "Reliability Test · qwen3-omni"
|
|
timeout_in_minutes: 180
|
|
commands:
|
|
- pytest -s -v tests/dfx/reliability/test_reliability_qwen3_omni.py -m "slow"
|
|
mirror_hardwares: h100_2
|
|
|
|
- label: "Reliability Test · wan22"
|
|
timeout_in_minutes: 180
|
|
commands:
|
|
- pytest -s -v tests/dfx/reliability/test_reliability_wan22.py -m "slow"
|
|
mirror_hardwares: h100_2
|
|
|
|
- label: "Reliability Test · hunyuan-image"
|
|
timeout_in_minutes: 180
|
|
commands:
|
|
- pytest -s -v tests/dfx/reliability/test_reliability_hunyuan_image.py -m "slow"
|
|
mirror_hardwares: h100_4
|
|
|
|
- label: "Reliability Test · Invalid parameters · H100 · Single-GPU"
|
|
timeout_in_minutes: 90
|
|
commands:
|
|
- pytest -s -v tests/dfx/reliability/invalid_param_test/ -m "slow and H100 and cards_1"
|
|
mirror_hardwares: h100_1
|
|
|
|
- label: "Reliability Test · Invalid parameters · H100 · 2-GPU"
|
|
timeout_in_minutes: 90
|
|
commands:
|
|
- pytest -s -v tests/dfx/reliability/invalid_param_test/ -m "slow and H100 and cards_2"
|
|
mirror_hardwares: h100_2
|
|
|
|
- label: "Reliability Test · Invalid parameters · L4"
|
|
timeout_in_minutes: 120
|
|
commands:
|
|
- pytest -s -v tests/dfx/reliability/invalid_param_test/ -m "slow and L4"
|
|
mirror_hardwares: l4_1
|
|
|
|
- group: "Perf Test"
|
|
depends_on: upload-weekly-pipeline
|
|
if: build.env("WEEKLY") == "1" || build.pull_request.labels includes "weekly-test"
|
|
steps:
|
|
|
|
- label: ":full_moon: Omni · Perf Test · vLLM Text"
|
|
key: weekly-omni-performance-vllm-text
|
|
timeout_in_minutes: 180
|
|
commands:
|
|
- export BENCHMARK_DIR=tests/dfx/perf/results
|
|
- |
|
|
set +e
|
|
pytest -s -v tests/dfx/perf/scripts/run_benchmark.py --test-config-file tests/dfx/perf/tests/test_qwen3_omni_vllm_text.json
|
|
EXIT=$$?
|
|
buildkite-agent artifact upload "tests/dfx/perf/results/*.json"
|
|
exit $$EXIT
|
|
mirror_hardwares: h100_2
|
|
|
|
- label: ":full_moon: Omni · Perf Test · Async Chunk · Random"
|
|
key: weekly-omni-performance-async-chunk-random
|
|
timeout_in_minutes: 180
|
|
commands:
|
|
- export BENCHMARK_DIR=tests/dfx/perf/results
|
|
- |
|
|
set +e
|
|
pytest -s -v tests/dfx/perf/scripts/run_benchmark.py --test-config-file tests/dfx/perf/tests/test_qwen3_omni_async_chunk.json -m "H100 and slow"
|
|
EXIT=$$?
|
|
buildkite-agent artifact upload "tests/dfx/perf/results/*.json"
|
|
exit $$EXIT
|
|
mirror_hardwares: h100_2
|
|
|
|
- label: ":full_moon: Omni · Perf Test · Multi-Replica"
|
|
key: weekly-omni-performance-multi-replicas
|
|
timeout_in_minutes: 180
|
|
commands:
|
|
- export BENCHMARK_DIR=tests/dfx/perf/results
|
|
- |
|
|
set +e
|
|
pytest -s -v tests/dfx/perf/scripts/run_benchmark.py --test-config-file tests/dfx/perf/tests/test_qwen3_omni_multi_replicas.json
|
|
EXIT=$$?
|
|
buildkite-agent artifact upload "tests/dfx/perf/results/*.json"
|
|
exit $$EXIT
|
|
mirror_hardwares: h100_3
|
|
|
|
- group: ":card_index_dividers: E2E Tests"
|
|
depends_on: upload-weekly-pipeline
|
|
if: build.env("NON_CRITICAL") == "1"
|
|
steps:
|
|
|
|
# Qwen2.5 expansion (CUDA 4-card / online 2-card) stays on this l4_4 job.
|
|
- label: "Omni · L4 · Multi-GPU"
|
|
timeout_in_minutes: 90
|
|
commands:
|
|
- export VLLM_ALLOW_LONG_MAX_MODEL_LEN="1"
|
|
- pytest -s -v tests/e2e/*/test_qwen2_5_omni_expansion.py -m "slow and L4 and omni and not cards_1" --run-level "core_model"
|
|
- >-
|
|
pytest -s -v tests/e2e/
|
|
--ignore=tests/e2e/online_serving/test_qwen2_5_omni_expansion.py
|
|
--ignore=tests/e2e/offline_inference/test_qwen2_5_omni_expansion.py
|
|
-m "slow and L4 and omni and not cards_1"
|
|
--run-level "full_model"
|
|
mirror_hardwares: l4_4
|
|
|
|
- label: "Omni · H100 · Single-GPU"
|
|
timeout_in_minutes: 90
|
|
commands:
|
|
- >-
|
|
pytest -sv
|
|
tests/e2e/ -m "slow and H100 and omni and cards_1"
|
|
--run-level "full_model"
|
|
mirror_hardwares: h100_1
|
|
|
|
- label: "Omni · H100 · 4-GPU"
|
|
timeout_in_minutes: 90
|
|
commands:
|
|
- >-
|
|
pytest -sv
|
|
tests/e2e/ -m "slow and H100 and omni and cards_4"
|
|
--run-level "full_model"
|
|
mirror_hardwares: h100_4
|
|
|
|
- label: "TTS · L4"
|
|
timeout_in_minutes: 120
|
|
commands:
|
|
- export VLLM_ALLOW_LONG_MAX_MODEL_LEN="1"
|
|
- export VLLM_USE_DEEP_GEMM="0"
|
|
- export VLLM_MOE_USE_DEEP_GEMM="0"
|
|
- |
|
|
failed=0
|
|
for f in $(pytest --collect-only -q tests/e2e/ -m "slow and L4 and tts" --run-level "full_model" | grep '\.py::' | sed -E 's|::.*||' | sort -u); do
|
|
pytest -s -v "$$f" -m "slow and L4 and tts" --run-level "full_model" || failed=1
|
|
done
|
|
exit $$failed
|
|
mirror_hardwares: l4_1
|
|
|
|
- label: "TTS · H100"
|
|
timeout_in_minutes: 90
|
|
commands:
|
|
- export VLLM_ALLOW_LONG_MAX_MODEL_LEN="1"
|
|
- export VLLM_USE_DEEP_GEMM="0"
|
|
- export VLLM_MOE_USE_DEEP_GEMM="0"
|
|
- >-
|
|
pytest -sv
|
|
tests/e2e/ -m "slow and H100 and tts"
|
|
--run-level "full_model"
|
|
mirror_hardwares: h100_1
|
|
|
|
# Own step: the image has no NanoCodec, so this file import-skips out of
|
|
# the mark-selected TTS steps above. The overrides keep nemo_toolkit[tts]
|
|
# from downgrading transformers; see
|
|
# examples/offline_inference/text_to_speech/README.md.
|
|
- label: "TTS · Gepard-1.0 · L4"
|
|
timeout_in_minutes: 60
|
|
commands:
|
|
- export VLLM_ALLOW_LONG_MAX_MODEL_LEN="1"
|
|
- printf '%s\n' "transformers>=5.5.3" "huggingface-hub>=1.0" > /tmp/gepard-overrides.txt
|
|
- uv pip install --python "$(python3 -c 'import sys; print(sys.executable)')" "nemo_toolkit[tts]==2.7.3" --overrides /tmp/gepard-overrides.txt
|
|
- >-
|
|
pytest -s -v tests/e2e/offline_inference/test_gepard_tts.py
|
|
-m "tts and cuda"
|
|
--run-level "full_model"
|
|
mirror_hardwares: l4_1
|
|
|
|
- label: "Diffusion · L4 · Single-GPU"
|
|
timeout_in_minutes: 60
|
|
commands:
|
|
- >-
|
|
pytest -sv
|
|
tests/e2e/ -m "slow and diffusion and L4 and cards_1"
|
|
--run-level "full_model"
|
|
mirror_hardwares: l4_1
|
|
|
|
- label: "Diffusion · L4 · Multi-GPU"
|
|
timeout_in_minutes: 60
|
|
commands:
|
|
- >-
|
|
pytest -sv
|
|
tests/e2e/ -m "slow and diffusion and L4 and not cards_1"
|
|
--run-level "full_model"
|
|
mirror_hardwares: l4_4
|
|
|
|
- label: "Diffusion · H100 · Single-GPU"
|
|
timeout_in_minutes: 150
|
|
commands:
|
|
- >-
|
|
pytest -sv
|
|
tests/e2e/ -m "slow and diffusion and H100 and cards_1"
|
|
--run-level "full_model"
|
|
mirror_hardwares: h100_1
|
|
|
|
- label: "Diffusion · H100 · 2-GPU"
|
|
timeout_in_minutes: 90
|
|
commands:
|
|
- >-
|
|
pytest -sv
|
|
tests/e2e/ -m "slow and diffusion and H100 and cards_2"
|
|
--run-level "full_model"
|
|
mirror_hardwares: h100_2
|
|
|
|
- label: "Diffusion · H100 · 4-GPU"
|
|
timeout_in_minutes: 90
|
|
commands:
|
|
- >-
|
|
pytest -sv
|
|
tests/e2e/ -m "slow and diffusion and H100 and cards_4"
|
|
--run-level "full_model"
|
|
mirror_hardwares: h100_4
|