Skip to content

Commit adeeafe

Browse files
authored
Merge branch 'main' into main
2 parents 2a75e9e + a0dc7a0 commit adeeafe

735 files changed

Lines changed: 64750 additions & 38114 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.buildkite/hardware_tests/cpu.yaml‎

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,19 @@ steps:
1212
- vllm/_custom_ops.py
1313
- tests/kernels/attention/test_cpu_attn.py
1414
- tests/kernels/moe/test_cpu_fused_moe.py
15+
- tests/kernels/moe/test_cpu_fp8_fused_moe.py
1516
- tests/kernels/test_onednn.py
1617
- tests/kernels/test_awq_int4_to_int8.py
18+
- tests/kernels/quantization/test_cpu_fp8_scaled_mm.py
1719
commands:
1820
- |
19-
bash .buildkite/scripts/hardware_ci/run-cpu-test.sh 20m "
21+
bash .buildkite/scripts/hardware_ci/run-cpu-test.sh 30m "
2022
pytest -x -v -s tests/kernels/attention/test_cpu_attn.py
2123
pytest -x -v -s tests/kernels/moe/test_cpu_fused_moe.py
24+
pytest -x -v -s tests/kernels/moe/test_cpu_fp8_fused_moe.py
2225
pytest -x -v -s tests/kernels/test_onednn.py
23-
pytest -x -v -s tests/kernels/test_awq_int4_to_int8.py"
26+
pytest -x -v -s tests/kernels/test_awq_int4_to_int8.py
27+
pytest -x -v -s tests/kernels/quantization/test_cpu_fp8_scaled_mm.py"
2428
2529
- label: CPU-Compatibility Tests
2630
depends_on: []
@@ -61,6 +65,7 @@ steps:
6165
- vllm/model_executor/layers/quantization/compressed_tensors/schemes/compressed_tensors_w8a8_int8.py
6266
- vllm/model_executor/layers/quantization/kernels/scaled_mm/cpu.py
6367
- vllm/model_executor/layers/quantization/kernels/mixed_precision/cpu.py
68+
- vllm/model_executor/layers/fused_moe/experts/cpu_moe.py
6469
- tests/quantization/test_compressed_tensors.py
6570
- tests/quantization/test_cpu_wna16.py
6671
commands:

‎.buildkite/intel_jobs/lora_intel.yaml‎

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,18 @@ steps:
1818
- >-
1919
bash .buildkite/scripts/hardware_ci/run-intel-test.sh
2020
'cd tests &&
21+
export VLLM_WORKER_MULTIPROC_METHOD=spawn &&
2122
pytest -v -s lora/test_layers.py &&
2223
pytest -v -s lora/test_lora_checkpoints.py &&
23-
(pytest -v -s lora/test_lora_functions.py --deselect="tests/lora/test_lora_functions.py::test_lora_functions_sync" --deselect="tests/lora/test_lora_functions.py::test_lora_functions_async" || true) &&
24+
pytest -v -s lora/test_lora_functions.py &&
2425
pytest -v -s lora/test_lora_huggingface.py &&
2526
pytest -v -s lora/test_lora_manager.py &&
2627
pytest -v -s lora/test_lora_utils.py &&
2728
pytest -v -s lora/test_peft_helper.py &&
2829
pytest -v -s lora/test_resolver.py &&
2930
pytest -v -s lora/test_utils.py &&
30-
(pytest -v -s lora/test_add_lora.py --deselect="tests/lora/test_add_lora.py::test_add_lora" || true) &&
31-
(pytest -v -s lora/test_worker.py --deselect="tests/lora/test_worker.py::test_worker_apply_lora" || true)'
31+
pytest -v -s lora/test_add_lora.py &&
32+
pytest -v -s lora/test_worker.py'
3233
3334
- label: LoRA Fused/MoE Kernels
3435
timeout_in_minutes: 45
@@ -46,6 +47,7 @@ steps:
4647
- >-
4748
bash .buildkite/scripts/hardware_ci/run-intel-test.sh
4849
'cd tests &&
50+
export VLLM_WORKER_MULTIPROC_METHOD=spawn &&
4951
pytest -v -s lora/test_fused_moe_lora_kernel.py &&
5052
pytest -v -s lora/test_moe_lora_align_sum.py'
5153
@@ -65,8 +67,9 @@ steps:
6567
- >-
6668
bash .buildkite/scripts/hardware_ci/run-intel-test.sh
6769
'cd tests &&
70+
export VLLM_WORKER_MULTIPROC_METHOD=spawn &&
6871
set -o pipefail &&
69-
pytest -v -s lora/test_punica_ops.py --deselect="tests/lora/test_punica_ops.py::test_kernels[shrink-0-xpu:0-dtype0-2-2049-64-32-32]" --deselect="tests/lora/test_punica_ops.py::test_kernels_hidden_size[expand-0-xpu:0-dtype1-2-64000-32-4-4]" --deselect="tests/lora/test_punica_ops.py::test_kernels[shrink-0-xpu:0-dtype0-1-2049-128-1-32]" --deselect="tests/lora/test_punica_ops.py::test_kernels[shrink-0-xpu:0-dtype0-1-2049-256-1-4]" --deselect="tests/lora/test_punica_ops.py::test_kernels[shrink-0-xpu:0-dtype0-1-2049-256-8-4]" --deselect="tests/lora/test_punica_ops.py::test_kernels[expand-0-xpu:0-dtype0-3-2049-128-8-16]" --deselect="tests/lora/test_punica_ops.py::test_kernels[shrink-0-xpu:0-dtype0-1-2049-128-8-32]" --deselect="tests/lora/test_punica_ops.py::test_kernels[expand-0-xpu:0-dtype1-1-2049-256-128-32]" --deselect="tests/lora/test_punica_ops.py::test_kernels_hidden_size[shrink-0-xpu:0-dtype0-3-64256-32-4-4]" --deselect="tests/lora/test_punica_ops.py::test_kernels_hidden_size[shrink-0-xpu:0-dtype1-2-29696-32-4-4]" --deselect="tests/lora/test_punica_ops.py::test_kernels_hidden_size[shrink-0-xpu:0-dtype1-3-49408-32-4-4]" --deselect="tests/lora/test_punica_ops.py::test_kernels_hidden_size[shrink-0-xpu:0-dtype0-2-16384-32-4-4]" --deselect="tests/lora/test_punica_ops.py::test_kernels_hidden_size[expand-0-xpu:0-dtype0-2-51328-32-4-4]" --deselect="tests/lora/test_punica_ops.py::test_kernels_hidden_size[expand-0-xpu:0-dtype1-1-102656-32-4-4]"'
72+
pytest -v -s lora/test_punica_ops.py --deselect="tests/lora/test_punica_ops.py::test_kernels_hidden_size[expand-0-xpu:0-dtype0-3-43264-32-4-4]" --deselect="tests/lora/test_punica_ops.py::test_kernels[shrink-0-xpu:0-dtype1-1-2049-64-128-16]" --deselect="tests/lora/test_punica_ops.py::test_kernels[shrink-0-xpu:0-dtype0-1-2049-128-1-32]" --deselect="tests/lora/test_punica_ops.py::test_kernels[shrink-0-xpu:0-dtype0-1-2049-256-1-4]" --deselect="tests/lora/test_punica_ops.py::test_kernels[shrink-0-xpu:0-dtype0-1-2049-256-8-4]" --deselect="tests/lora/test_punica_ops.py::test_kernels[expand-0-xpu:0-dtype0-3-2049-128-8-16]" --deselect="tests/lora/test_punica_ops.py::test_kernels[shrink-0-xpu:0-dtype0-1-2049-128-8-32]" --deselect="tests/lora/test_punica_ops.py::test_kernels[expand-0-xpu:0-dtype1-1-2049-256-128-32]" --deselect="tests/lora/test_punica_ops.py::test_kernels_hidden_size[shrink-0-xpu:0-dtype0-3-64256-32-4-4]" --deselect="tests/lora/test_punica_ops.py::test_kernels_hidden_size[shrink-0-xpu:0-dtype1-2-29696-32-4-4]" --deselect="tests/lora/test_punica_ops.py::test_kernels_hidden_size[shrink-0-xpu:0-dtype1-3-49408-32-4-4]" --deselect="tests/lora/test_punica_ops.py::test_kernels_hidden_size[shrink-0-xpu:0-dtype0-2-16384-32-4-4]" --deselect="tests/lora/test_punica_ops.py::test_kernels_hidden_size[expand-0-xpu:0-dtype0-2-51328-32-4-4]"'
7073
7174
- label: LoRA Punica FP8/XPU Ops
7275
timeout_in_minutes: 45
@@ -84,6 +87,7 @@ steps:
8487
- >-
8588
bash .buildkite/scripts/hardware_ci/run-intel-test.sh
8689
'cd tests &&
90+
export VLLM_WORKER_MULTIPROC_METHOD=spawn &&
8791
pytest -v -s lora/test_punica_ops_fp8.py &&
8892
pytest -v -s lora/test_punica_xpu_ops.py'
8993
@@ -103,10 +107,12 @@ steps:
103107
- >-
104108
bash .buildkite/scripts/hardware_ci/run-intel-test.sh
105109
'cd tests &&
110+
export VLLM_WORKER_MULTIPROC_METHOD=spawn &&
106111
(pytest -v -s lora/test_mixtral.py --deselect="tests/lora/test_mixtral.py::test_mixtral_lora[4]" || true) &&
107112
pytest -v -s lora/test_quant_model.py --deselect="tests/lora/test_quant_model.py::test_quant_model_lora[model0]" --deselect="tests/lora/test_quant_model.py::test_quant_model_lora[model1]" --deselect="tests/lora/test_quant_model.py::test_quant_model_tp_equality[model0]" &&
108-
pytest -v -s lora/test_qwen35_densemodel_lora.py &&
109-
pytest -v -s lora/test_transformers_model.py'
113+
pytest -v -s lora/test_transformers_model.py &&
114+
pytest -v -s lora/test_chatglm3_tp.py &&
115+
pytest -s -v lora/test_minicpmv_tp.py'
110116
111117
- label: LoRA Multimodal
112118
timeout_in_minutes: 45
@@ -124,6 +130,6 @@ steps:
124130
- >-
125131
bash .buildkite/scripts/hardware_ci/run-intel-test.sh
126132
'cd tests &&
133+
export VLLM_WORKER_MULTIPROC_METHOD=spawn &&
127134
pytest -v -s lora/test_default_mm_loras.py &&
128-
(pytest -v -s lora/test_qwen3_unembed.py || true) &&
129135
pytest -v -s lora/test_whisper.py'

‎.buildkite/intel_jobs/misc_intel.yaml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ steps:
4949
bash .buildkite/scripts/hardware_ci/run-intel-test.sh
5050
'export VLLM_WORKER_MULTIPROC_METHOD=spawn &&
5151
cd tests &&
52-
pytest -v -s v1/logits_processors &&
52+
pytest -v -s v1/logits_processors --ignore=v1/logits_processors/test_custom_online.py --ignore=v1/logits_processors/test_custom_offline.py &&
5353
pytest -v -s v1/test_oracle.py &&
5454
pytest -v -s v1/test_request.py &&
5555
pytest -v -s v1/test_outputs.py'

‎.buildkite/intel_jobs/test-intel.yaml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,5 +61,5 @@ steps:
6161
pytest -v -s v1/worker --ignore=v1/worker/test_gpu_model_runner.py --ignore=v1/worker/test_worker_memory_snapshot.py &&
6262
pytest -v -s v1/structured_output &&
6363
pytest -v -s v1/test_serial_utils.py &&
64-
pytest -v -s v1/spec_decode --ignore=v1/spec_decode/test_max_len.py --ignore=v1/spec_decode/test_tree_attention.py --ignore=v1/spec_decode/test_speculators_eagle3.py --ignore=v1/spec_decode/test_acceptance_length.py &&
64+
pytest -v -s v1/spec_decode --ignore=v1/spec_decode/test_max_len.py --ignore=v1/spec_decode/test_speculators_eagle3.py --ignore=v1/spec_decode/test_acceptance_length.py &&
6565
pytest -v -s v1/kv_connector/unit --ignore=v1/kv_connector/unit/test_multi_connector.py --ignore=v1/kv_connector/unit/test_example_connector.py --ignore=v1/kv_connector/unit/test_lmcache_integration.py --ignore=v1/kv_connector/unit/test_hf3fs_client.py --ignore=v1/kv_connector/unit/test_hf3fs_connector.py --ignore=v1/kv_connector/unit/test_hf3fs_metadata_server.py'

‎.buildkite/release-pipeline.yaml‎

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,7 @@ steps:
309309
depends_on: ~
310310

311311
- label: "Build release image - x86_64 - CPU"
312+
key: build-cpu-release-image-x86
312313
depends_on:
313314
- block-cpu-release-image-build
314315
- input-release-version
@@ -327,7 +328,8 @@ steps:
327328
depends_on: ~
328329

329330
- label: "Build release image - arm64 - CPU"
330-
depends_on:
331+
key: build-cpu-release-image-arm64
332+
depends_on:
331333
- block-arm64-cpu-release-image-build
332334
- input-release-version
333335
agents:
@@ -436,6 +438,41 @@ steps:
436438
DOCKER_BUILDKIT: "1"
437439
DOCKERHUB_USERNAME: "vllmbot"
438440

441+
- block: "Publish release images to DockerHub"
442+
key: block-publish-release-images
443+
depends_on:
444+
- create-multi-arch-manifest
445+
- create-multi-arch-manifest-cuda-12-9
446+
- create-multi-arch-manifest-ubuntu2404
447+
- create-multi-arch-manifest-cuda-12-9-ubuntu2404
448+
- build-rocm-release-image
449+
- input-release-version
450+
# Wait for CPU builds if their block steps were unblocked, so publish
451+
# doesn't race the in-progress CPU build. allow_failure lets publish
452+
# proceed when the operator legitimately leaves the CPU block steps
453+
# unblocked or the CPU build fails.
454+
- step: build-cpu-release-image-x86
455+
allow_failure: true
456+
- step: build-cpu-release-image-arm64
457+
allow_failure: true
458+
if: build.env("NIGHTLY") != "1"
459+
460+
- label: "Publish release images to DockerHub"
461+
depends_on:
462+
- block-publish-release-images
463+
key: publish-release-images-dockerhub
464+
agents:
465+
queue: small_cpu_queue_release
466+
commands:
467+
- "bash .buildkite/scripts/publish-release-images.sh"
468+
plugins:
469+
- docker-login#v3.0.0:
470+
username: vllmbot
471+
password-env: DOCKERHUB_TOKEN
472+
env:
473+
DOCKER_BUILDKIT: "1"
474+
DOCKERHUB_USERNAME: "vllmbot"
475+
439476
- group: "Publish wheels"
440477
key: "publish-wheels"
441478
steps:

‎.buildkite/scripts/annotate-release.sh‎

Lines changed: 1 addition & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ if [ -z "${RELEASE_VERSION}" ]; then
88
RELEASE_VERSION="1.0.0.dev"
99
fi
1010

11-
ROCM_BASE_CACHE_KEY=$(.buildkite/scripts/cache-rocm-base-wheels.sh key)
12-
1311
buildkite-agent annotate --style 'info' --context 'release-workflow' << EOF
1412
To download the wheel (by commit):
1513
\`\`\`
@@ -25,95 +23,5 @@ aws s3 cp s3://vllm-wheels/${BUILDKITE_COMMIT}/vllm-${RELEASE_VERSION}+cpu-cp38-
2523
aws s3 cp s3://vllm-wheels/${BUILDKITE_COMMIT}/vllm-${RELEASE_VERSION}+cpu-cp38-abi3-manylinux_2_35_aarch64.whl .
2624
\`\`\`
2725
28-
29-
To download and upload the image:
30-
31-
\`\`\`
32-
# Download images:
33-
34-
docker pull public.ecr.aws/q9t5s3a7/vllm-release-repo:${BUILDKITE_COMMIT}-x86_64
35-
docker pull public.ecr.aws/q9t5s3a7/vllm-release-repo:${BUILDKITE_COMMIT}-aarch64
36-
docker pull public.ecr.aws/q9t5s3a7/vllm-release-repo:${BUILDKITE_COMMIT}-x86_64-cu129
37-
docker pull public.ecr.aws/q9t5s3a7/vllm-release-repo:${BUILDKITE_COMMIT}-aarch64-cu129
38-
docker pull public.ecr.aws/q9t5s3a7/vllm-release-repo:${ROCM_BASE_CACHE_KEY}-rocm-base
39-
docker pull public.ecr.aws/q9t5s3a7/vllm-release-repo:${BUILDKITE_COMMIT}-rocm
40-
docker pull public.ecr.aws/q9t5s3a7/vllm-cpu-release-repo:v${RELEASE_VERSION}
41-
docker pull public.ecr.aws/q9t5s3a7/vllm-arm64-cpu-release-repo:v${RELEASE_VERSION}
42-
43-
# Tag and push images:
44-
45-
## CUDA
46-
47-
docker tag public.ecr.aws/q9t5s3a7/vllm-release-repo:${BUILDKITE_COMMIT}-x86_64 vllm/vllm-openai:x86_64
48-
docker tag vllm/vllm-openai:x86_64 vllm/vllm-openai:latest-x86_64
49-
docker tag vllm/vllm-openai:x86_64 vllm/vllm-openai:v${RELEASE_VERSION}-x86_64
50-
docker push vllm/vllm-openai:latest-x86_64
51-
docker push vllm/vllm-openai:v${RELEASE_VERSION}-x86_64
52-
53-
docker tag public.ecr.aws/q9t5s3a7/vllm-release-repo:${BUILDKITE_COMMIT}-x86_64-cu129 vllm/vllm-openai:x86_64-cu129
54-
docker tag vllm/vllm-openai:x86_64-cu129 vllm/vllm-openai:latest-x86_64-cu129
55-
docker tag vllm/vllm-openai:x86_64-cu129 vllm/vllm-openai:v${RELEASE_VERSION}-x86_64-cu129
56-
docker push vllm/vllm-openai:latest-x86_64-cu129
57-
docker push vllm/vllm-openai:v${RELEASE_VERSION}-x86_64-cu129
58-
59-
docker tag public.ecr.aws/q9t5s3a7/vllm-release-repo:${BUILDKITE_COMMIT}-aarch64 vllm/vllm-openai:aarch64
60-
docker tag vllm/vllm-openai:aarch64 vllm/vllm-openai:latest-aarch64
61-
docker tag vllm/vllm-openai:aarch64 vllm/vllm-openai:v${RELEASE_VERSION}-aarch64
62-
docker push vllm/vllm-openai:latest-aarch64
63-
docker push vllm/vllm-openai:v${RELEASE_VERSION}-aarch64
64-
65-
docker tag public.ecr.aws/q9t5s3a7/vllm-release-repo:${BUILDKITE_COMMIT}-aarch64-cu129 vllm/vllm-openai:aarch64-cu129
66-
docker tag vllm/vllm-openai:aarch64-cu129 vllm/vllm-openai:latest-aarch64-cu129
67-
docker tag vllm/vllm-openai:aarch64-cu129 vllm/vllm-openai:v${RELEASE_VERSION}-aarch64-cu129
68-
docker push vllm/vllm-openai:latest-aarch64-cu129
69-
docker push vllm/vllm-openai:v${RELEASE_VERSION}-aarch64-cu129
70-
71-
## ROCm
72-
73-
docker tag public.ecr.aws/q9t5s3a7/vllm-release-repo:${BUILDKITE_COMMIT}-rocm vllm/vllm-openai-rocm:${BUILDKITE_COMMIT}
74-
docker tag vllm/vllm-openai-rocm:${BUILDKITE_COMMIT} vllm/vllm-openai-rocm:latest
75-
docker tag vllm/vllm-openai-rocm:${BUILDKITE_COMMIT} vllm/vllm-openai-rocm:v${RELEASE_VERSION}
76-
docker push vllm/vllm-openai-rocm:latest
77-
docker push vllm/vllm-openai-rocm:v${RELEASE_VERSION}
78-
79-
docker tag public.ecr.aws/q9t5s3a7/vllm-release-repo:${ROCM_BASE_CACHE_KEY}-rocm-base vllm/vllm-openai-rocm:${BUILDKITE_COMMIT}-base
80-
docker tag vllm/vllm-openai-rocm:${BUILDKITE_COMMIT}-base vllm/vllm-openai-rocm:latest-base
81-
docker tag vllm/vllm-openai-rocm:${BUILDKITE_COMMIT}-base vllm/vllm-openai-rocm:v${RELEASE_VERSION}-base
82-
docker push vllm/vllm-openai-rocm:latest-base
83-
docker push vllm/vllm-openai-rocm:v${RELEASE_VERSION}-base
84-
85-
## CPU
86-
87-
docker tag public.ecr.aws/q9t5s3a7/vllm-cpu-release-repo:v${RELEASE_VERSION} vllm/vllm-openai-cpu:x86_64
88-
docker tag vllm/vllm-openai-cpu:x86_64 vllm/vllm-openai-cpu:latest-x86_64
89-
docker tag vllm/vllm-openai-cpu:x86_64 vllm/vllm-openai-cpu:v${RELEASE_VERSION}-x86_64
90-
docker push vllm/vllm-openai-cpu:latest-x86_64
91-
docker push vllm/vllm-openai-cpu:v${RELEASE_VERSION}-x86_64
92-
93-
docker tag public.ecr.aws/q9t5s3a7/vllm-arm64-cpu-release-repo:v${RELEASE_VERSION} vllm/vllm-openai-cpu:arm64
94-
docker tag vllm/vllm-openai-cpu:arm64 vllm/vllm-openai-cpu:latest-arm64
95-
docker tag vllm/vllm-openai-cpu:arm64 vllm/vllm-openai-cpu:v${RELEASE_VERSION}-arm64
96-
docker push vllm/vllm-openai-cpu:latest-arm64
97-
docker push vllm/vllm-openai-cpu:v${RELEASE_VERSION}-arm64
98-
99-
# Create multi-arch manifest:
100-
101-
docker manifest rm vllm/vllm-openai:latest
102-
docker manifest create vllm/vllm-openai:latest vllm/vllm-openai:latest-x86_64 vllm/vllm-openai:latest-aarch64
103-
docker manifest create vllm/vllm-openai:v${RELEASE_VERSION} vllm/vllm-openai:v${RELEASE_VERSION}-x86_64 vllm/vllm-openai:v${RELEASE_VERSION}-aarch64
104-
docker manifest push vllm/vllm-openai:latest
105-
docker manifest push vllm/vllm-openai:v${RELEASE_VERSION}
106-
107-
docker manifest rm vllm/vllm-openai:latest-cu129
108-
docker manifest create vllm/vllm-openai:latest-cu129 vllm/vllm-openai:latest-x86_64-cu129 vllm/vllm-openai:latest-aarch64-cu129
109-
docker manifest create vllm/vllm-openai:v${RELEASE_VERSION}-cu129 vllm/vllm-openai:v${RELEASE_VERSION}-x86_64-cu129 vllm/vllm-openai:v${RELEASE_VERSION}-aarch64-cu129
110-
docker manifest push vllm/vllm-openai:latest-cu129
111-
docker manifest push vllm/vllm-openai:v${RELEASE_VERSION}-cu129
112-
113-
docker manifest rm vllm/vllm-openai-cpu:latest || true
114-
docker manifest create vllm/vllm-openai-cpu:latest vllm/vllm-openai-cpu:latest-x86_64 vllm/vllm-openai-cpu:latest-arm64
115-
docker manifest create vllm/vllm-openai-cpu:v${RELEASE_VERSION} vllm/vllm-openai-cpu:v${RELEASE_VERSION}-x86_64 vllm/vllm-openai-cpu:v${RELEASE_VERSION}-arm64
116-
docker manifest push vllm/vllm-openai-cpu:latest
117-
docker manifest push vllm/vllm-openai-cpu:v${RELEASE_VERSION}
118-
\`\`\`
26+
Docker images are published automatically by the "Publish release images to DockerHub" pipeline step.
11927
EOF

‎.buildkite/scripts/hardware_ci/run-amd-test.sh‎

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -378,9 +378,11 @@ HF_MOUNT="/root/.cache/huggingface"
378378
# double-quotes will have been stripped by the calling shell.
379379
if [[ -n "${VLLM_TEST_COMMANDS:-}" ]]; then
380380
commands="${VLLM_TEST_COMMANDS}"
381+
commands_source="env"
381382
echo "Commands sourced from VLLM_TEST_COMMANDS (quoting preserved)"
382383
else
383384
commands="$*"
385+
commands_source="argv"
384386
if [[ -z "$commands" ]]; then
385387
echo "Error: No test commands provided." >&2
386388
echo "Usage:" >&2
@@ -397,9 +399,15 @@ fi
397399

398400
echo "Raw commands: $commands"
399401

400-
# Fix quoting before ROCm overrides (so overrides see correct structure)
401-
commands=$(re_quote_pytest_markers "$commands")
402-
echo "After re-quoting: $commands"
402+
# Only try to repair stripped pytest -m/-k quoting in legacy argv mode.
403+
# VLLM_TEST_COMMANDS preserves inner quoting already, and re-quoting that path
404+
# can corrupt embedded echo strings or otherwise well-formed shell fragments.
405+
if [[ "$commands_source" == "argv" ]]; then
406+
commands=$(re_quote_pytest_markers "$commands")
407+
echo "After re-quoting: $commands"
408+
else
409+
echo "Skipping re-quoting for VLLM_TEST_COMMANDS input"
410+
fi
403411

404412
commands=$(apply_rocm_test_overrides "$commands")
405413
echo "Final commands: $commands"

‎.buildkite/scripts/hardware_ci/run-cpu-test-arm.sh‎

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,21 @@ function cpu_tests() {
3131
set -e
3232
pip list"
3333

34+
# Run kernel tests
35+
docker exec cpu-test bash -c "
36+
set -e
37+
pytest -x -v -s tests/kernels/test_onednn.py
38+
pytest -x -v -s tests/kernels/attention/test_cpu_attn.py
39+
pytest -x -v -s tests/kernels/core/test_cpu_activation.py
40+
pytest -x -v -s tests/kernels/moe/test_moe.py -k test_cpu_fused_moe_basic"
41+
42+
# skip tests requiring model downloads if HF_TOKEN is not set
43+
# due to rate-limits
44+
if [ -z "$HF_TOKEN" ]; then
45+
echo "Warning: HF_TOKEN is not set. Skipping tests that require model downloads."
46+
return
47+
fi
48+
3449
# offline inference
3550
docker exec cpu-test bash -c "
3651
set -e
@@ -46,13 +61,6 @@ function cpu_tests() {
4661
set -e
4762
pytest -x -v -s tests/quantization/test_compressed_tensors.py::test_compressed_tensors_w8a8_logprobs"
4863

49-
# Run kernel tests
50-
docker exec cpu-test bash -c "
51-
set -e
52-
pytest -x -v -s tests/kernels/test_onednn.py
53-
pytest -x -v -s tests/kernels/attention/test_cpu_attn.py
54-
pytest -x -v -s tests/kernels/core/test_cpu_activation.py
55-
pytest -x -v -s tests/kernels/moe/test_moe.py -k test_cpu_fused_moe_basic"
5664

5765
# basic online serving
5866
docker exec cpu-test bash -c '
@@ -67,6 +75,21 @@ function cpu_tests() {
6775
--num-prompts 20 \
6876
--endpoint /v1/completions
6977
kill -s SIGTERM $server_pid &'
78+
79+
# smoke test for Gated DeltaNet
80+
docker exec cpu-test bash -c '
81+
set -e
82+
VLLM_CPU_OMP_THREADS_BIND=$E2E_OMP_THREADS vllm serve Qwen/Qwen3.5-0.8B --max-model-len 2048 &
83+
server_pid=$!
84+
timeout 600 bash -c "until curl localhost:8000/v1/models; do sleep 1; done" || exit 1
85+
vllm bench serve \
86+
--backend vllm \
87+
--dataset-name random \
88+
--model Qwen/Qwen3.5-0.8B \
89+
--num-prompts 20 \
90+
--endpoint /v1/completions
91+
kill -s SIGTERM $server_pid &'
92+
7093
}
7194

7295
# All of CPU tests are expected to be finished less than 40 mins.

0 commit comments

Comments
 (0)