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