main
yaml 230 lines 9.35 KB
Raw
1 group: Rust Frontend E2E
2 depends_on:
3 - image-build
4 steps:
5 - label: ":nvidia: (H200 MIG 18GB) Rust Frontend OpenAI Coverage"
6 key: rust-frontend-openai-coverage
7 timeout_in_minutes: 30
8 device: h200_18gb
9 working_dir: "/vllm-workspace/tests"
10 source_file_dependencies:
11 - rust/
12 - vllm/benchmarks/
13 - vllm/entrypoints/openai/
14 - vllm/entrypoints/serve/
15 - vllm/v1/sample/
16 - tests/utils.py
17 - tests/benchmarks/test_serve_cli.py
18 - tests/entrypoints/openai/chat_completion/test_chat_completion.py
19 - tests/entrypoints/openai/chat_completion/test_include_reasoning.py
20 - tests/entrypoints/openai/chat_completion/test_chat_logit_bias_validation.py
21 - tests/entrypoints/openai/chat_completion/test_serving_chat.py
22
23 # - tests/entrypoints/openai/completion/test_prompt_validation.py
24 - tests/entrypoints/launchers/test_shutdown.py
25 - tests/entrypoints/openai/test_return_token_ids.py
26 - tests/entrypoints/serve/instrumentator/test_uds.py
27 - tests/v1/sample/test_logprobs_e2e.py
28 commands:
29 - export VLLM_USE_RUST_FRONTEND=1
30 - export VLLM_WORKER_MULTIPROC_METHOD=spawn
31 - pytest -v -s benchmarks/test_serve_cli.py -k "not insecure and not (test_bench_serve and not test_bench_serve_chat)"
32 - pytest -v -s entrypoints/openai/chat_completion/test_chat_completion.py -k "not test_invalid_json_schema and not test_invalid_regex and not test_kv_transfer_prompt_token_ids_round_trip and not test_kv_transfer_prompt_token_ids_streaming"
33 - pytest -v -s entrypoints/openai/chat_completion/test_include_reasoning.py
34 - pytest -v -s entrypoints/openai/chat_completion/test_chat_logit_bias_validation.py -k "not multiple"
35 - pytest -v -s entrypoints/openai/chat_completion/test_serving_chat.py -k "test_chat_per_request_metrics_follow_server_flag or test_streaming_reasoning_usage_counts_across_deltas or test_completion_tokens_details"
36
37 # - pytest -v -s entrypoints/openai/completion/test_prompt_validation.py -k "not prompt_embeds"
38 - pytest -v -s entrypoints/launchers/test_shutdown.py -k "not engine_failure and not test_abort_timeout_exits_quickly"
39 # test_comparison streams differently: Rust emits a separate first (prompt_token_ids) chunk and
40 # finish chunk without logprobs, while the test reads `logprobs.tokens` on every chunk.
41 - pytest -v -s entrypoints/openai/test_return_token_ids.py -k "not test_comparison"
42 - pytest -v -s entrypoints/serve/instrumentator/test_uds.py
43 - pytest -v -s v1/sample/test_logprobs_e2e.py -k "test_prompt_logprobs_e2e_server"
44 mirror:
45 amd:
46 label: ":amd: (MI355 DPX) Rust Frontend OpenAI Coverage"
47 dind: false
48 device: mi355_dpx
49 timeout_in_minutes: 35
50 depends_on:
51 - image-build-amd
52 source_file_dependencies:
53 - rust/
54 - vllm/benchmarks/
55 - vllm/entrypoints/openai/
56 - vllm/entrypoints/serve/
57 - vllm/v1/sample/
58 - tests/utils.py
59 - tests/benchmarks/test_serve_cli.py
60 - tests/entrypoints/openai/chat_completion/test_chat_completion.py
61 - tests/entrypoints/openai/chat_completion/test_include_reasoning.py
62 - tests/entrypoints/openai/chat_completion/test_chat_logit_bias_validation.py
63 - tests/entrypoints/openai/chat_completion/test_serving_chat.py
64 - tests/entrypoints/openai/completion/test_shutdown.py
65 - tests/entrypoints/openai/test_return_token_ids.py
66 - tests/entrypoints/openai/test_uds.py
67 - tests/v1/sample/test_logprobs_e2e.py
68 - vllm/platforms/rocm.py
69
70 - label: ":nvidia: (H200 MIG 18GB) Rust Frontend Serve/Admin Coverage"
71 key: rust-frontend-serve-admin-coverage
72 timeout_in_minutes: 25
73 device: h200_18gb
74 working_dir: "/vllm-workspace/tests"
75 source_file_dependencies:
76 - rust/
77 - vllm/entrypoints/openai/
78 - vllm/entrypoints/serve/
79 - vllm/v1/engine/
80 - tests/utils.py
81 - tests/entrypoints/serve/dev/rpc/test_collective_rpc.py
82 - tests/entrypoints/scale_out/token_in_token_out/test_serving_tokens.py
83 - tests/entrypoints/serve/instrumentator/test_basic.py
84 - tests/entrypoints/serve/instrumentator/test_metrics.py
85 # - tests/entrypoints/serve/dev/test_sleep.py
86 - tests/entrypoints/serve/tokenize/test_tokenization.py
87 commands:
88 - export VLLM_USE_RUST_FRONTEND=1
89 - export VLLM_WORKER_MULTIPROC_METHOD=spawn
90 - PYTHONPATH=/vllm-workspace pytest -v -s entrypoints/serve/dev/rpc/test_collective_rpc.py
91 # server_load can be flaky under the Rust frontend; keep it excluded for now.
92 - pytest -v -s entrypoints/serve/instrumentator/test_basic.py -k "not server_load"
93 # test_generate_logprobs expects Python-style top_logprobs truncation (dedup sampled + cap at max(k, 1)).
94 - pytest -v -s entrypoints/scale_out/token_in_token_out/test_serving_tokens.py -k "not stream and not lora and not test_generate_logprobs and not stop_string_workflow"
95 - pytest -v -s entrypoints/serve/instrumentator/test_metrics.py -k "text and not show and not run_batch and not test_metrics_counts and not test_metrics_exist"
96 # - pytest -v -s entrypoints/serve/dev/test_sleep.py
97 # /tokenizer_info is not implemented in the Rust frontend (the CLI flag is accepted as a no-op).
98 - pytest -v -s entrypoints/serve/tokenize/test_tokenization.py -k "not tokenizer_info"
99 mirror:
100 amd:
101 label: ":amd: (MI355 DPX) Rust Frontend Serve/Admin Coverage"
102 dind: false
103 device: mi355_dpx
104 timeout_in_minutes: 30
105 depends_on:
106 - image-build-amd
107 source_file_dependencies:
108 - rust/
109 - vllm/entrypoints/openai/
110 - vllm/entrypoints/serve/
111 - vllm/v1/engine/
112 - tests/utils.py
113 - tests/entrypoints/serve/dev/rpc/test_collective_rpc.py
114 - tests/entrypoints/scale_out/token_in_token_out/test_serving_tokens.py
115 - tests/entrypoints/serve/instrumentator/test_basic.py
116 - tests/entrypoints/serve/instrumentator/test_metrics.py
117 - tests/entrypoints/serve/tokenize/test_tokenization.py
118 - vllm/platforms/rocm.py
119
120 - label: ":nvidia: (H200 MIG 18GB) Rust Frontend Core Correctness"
121 key: rust-frontend-core-correctness
122 timeout_in_minutes: 20
123 device: h200_18gb
124 working_dir: "/vllm-workspace/tests"
125 source_file_dependencies:
126 - rust/
127 - vllm/entrypoints/openai/
128 - tests/utils.py
129 - tests/entrypoints/openai/correctness/test_lmeval.py
130 commands:
131 - export VLLM_USE_RUST_FRONTEND=1
132 - export VLLM_WORKER_MULTIPROC_METHOD=spawn
133 - pytest -s entrypoints/openai/correctness/test_lmeval.py::test_lm_eval_accuracy_v1_engine
134 mirror:
135 amd:
136 label: ":amd: (MI355 DPX) Rust Frontend Core Correctness"
137 dind: false
138 device: mi355_dpx
139 timeout_in_minutes: 25
140 depends_on:
141 - image-build-amd
142 source_file_dependencies:
143 - rust/
144 - vllm/entrypoints/openai/
145 - tests/utils.py
146 - tests/entrypoints/openai/correctness/test_lmeval.py
147 - vllm/platforms/rocm.py
148
149 - label: ":nvidia: (H200 MIG 35GB) Rust Frontend Tool Use"
150 key: rust-frontend-tool-use
151 device: h200_35gb
152 timeout_in_minutes: 25
153 working_dir: "/vllm-workspace/tests"
154 source_file_dependencies:
155 - rust/
156 - vllm/entrypoints/openai/
157 - vllm/tool_parsers/
158 - tests/utils.py
159 - tests/tool_use/
160 commands:
161 - export VLLM_USE_RUST_FRONTEND=1
162 - export VLLM_WORKER_MULTIPROC_METHOD=spawn
163 - pytest -v -s tool_use --ignore=tool_use/mistral --models llama3.2 -k "not test_response_format_with_tool_choice_required and not test_parallel_tool_calls_false and not test_tool_call_and_choice"
164 mirror:
165 amd:
166 label: ":amd: (MI355 DPX) Rust Frontend Tool Use"
167 dind: false
168 device: mi355_dpx
169 timeout_in_minutes: 30
170 depends_on:
171 - image-build-amd
172 source_file_dependencies:
173 - rust/
174 - vllm/entrypoints/openai/
175 - vllm/tool_parsers/
176 - tests/utils.py
177 - tests/tool_use/
178 - vllm/platforms/rocm.py
179
180 - label: ":nvidia: (L4) Rust Frontend Distributed"
181 key: rust-frontend-distributed
182 timeout_in_minutes: 25
183 device: l4
184 num_devices: 4
185 working_dir: "/vllm-workspace/tests"
186 source_file_dependencies:
187 - rust/
188 - vllm/distributed/
189 - "!vllm/distributed/kv_transfer/"
190 - vllm/engine/
191 - vllm/v1/executor/
192 - vllm/v1/engine/
193 - vllm/v1/worker/
194 - tests/utils.py
195 - tests/v1/distributed/test_dense_dp_world_size.py
196 - tests/v1/distributed/test_external_lb_dp.py
197 - tests/v1/distributed/test_hybrid_lb_dp.py
198 - tests/v1/distributed/test_internal_lb_dp.py
199 commands:
200 - export VLLM_USE_RUST_FRONTEND=1
201 - export VLLM_WORKER_MULTIPROC_METHOD=spawn
202 - export NCCL_CUMEM_HOST_ENABLE=0
203 - TP_SIZE=1 DP_SIZE=4 pytest -v -s v1/distributed/test_dense_dp_world_size.py
204 - TP_SIZE=1 DP_SIZE=4 pytest -v -s v1/distributed/test_internal_lb_dp.py -k "not 4 and not server_info"
205 - TP_SIZE=1 DP_SIZE=2 pytest -v -s v1/distributed/test_external_lb_dp.py -k "not 4 and not server_info"
206 - TP_SIZE=1 DP_SIZE=4 pytest -v -s v1/distributed/test_hybrid_lb_dp.py -k "not 4 and not server_info"
207 mirror:
208 amd:
209 label: ":amd: (MI355) Rust Frontend Distributed"
210 dind: false
211 device: mi355_4
212 timeout_in_minutes: 45
213 env:
214 VLLM_ENGINE_READY_TIMEOUT_S: "1800"
215 depends_on:
216 - image-build-amd
217 source_file_dependencies:
218 - rust/
219 - vllm/distributed/
220 - "!vllm/distributed/kv_transfer/"
221 - vllm/engine/
222 - vllm/v1/executor/
223 - vllm/v1/engine/
224 - vllm/v1/worker/
225 - tests/utils.py
226 - tests/v1/distributed/test_dense_dp_world_size.py
227 - tests/v1/distributed/test_external_lb_dp.py
228 - tests/v1/distributed/test_hybrid_lb_dp.py
229 - tests/v1/distributed/test_internal_lb_dp.py
230 - vllm/platforms/rocm.py