[CI][RL] Consolidate RL entrypoint tests under tests/entrypoints/rl (#59948)

Signed-off-by: wang.yuqi <yuqi.wang@daocloud.io>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Co-authored-by: wang.yuqi <yuqi.wang@daocloud.io>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
aoshen02
2026-10-07 08:29:09 +00:00
committed by GitHub
co-authored by wang.yuqi Claude Opus 5.5
parent bc8dd4ad27
commit 42ecc8eebe
20 changed files with 46 additions and 22 deletions
+8 -5
View File
@@ -19,14 +19,14 @@ steps:
source_file_dependencies:
- vllm/entrypoints
- tests/entrypoints/unit_tests
- tests/entrypoints/weight_transfer
- tests/entrypoints/rl/weight_transfer
- tests/entrypoints/launchers
commands:
- >-
bash .buildkite/scripts/hardware_ci/run-intel-test.sh
'cd tests &&
pytest -v -s entrypoints/unit_tests &&
pytest -v -s entrypoints/weight_transfer'
pytest -v -s entrypoints/rl/weight_transfer'
- label: ":intel: (BMG) Entrypoints Integration (LLM)"
key: entrypoints-integration-llm-intel
@@ -71,14 +71,17 @@ steps:
- vllm/
- "!vllm/distributed/kv_transfer/"
- tests/entrypoints/serve
- tests/entrypoints/rl
commands:
- >-
bash .buildkite/scripts/hardware_ci/run-intel-test.sh
'export VLLM_WORKER_MULTIPROC_METHOD=spawn &&
cd tests &&
pytest -v -s entrypoints/serve --ignore=entrypoints/serve/dev/rpc
--ignore=entrypoints/serve/dev/rlhf/test_weight_operation_metrics.py
--deselect="tests/entrypoints/serve/dev/rlhf/state_transitions/test_pause_resume.py::TestPauseResume::test_clear_cache_preserves_output_and_controls_prefix_cache[MRV1]" &&
pytest -v -s entrypoints/serve --ignore=entrypoints/serve/dev/rpc &&
pytest -v -s entrypoints/rl --ignore=entrypoints/rl/weight_transfer
--ignore=entrypoints/rl/return_routed_experts/test_openai_api.py
--ignore=entrypoints/rl/test_weight_operation_metrics.py
--deselect="tests/entrypoints/rl/state_transitions/test_pause_resume.py::TestPauseResume::test_clear_cache_preserves_output_and_controls_prefix_cache[MRV1]" &&
PYTHONPATH=/workspace/vllm pytest -v -s entrypoints/serve/dev/rpc'
- label: ":intel: (BMG) Entrypoints Integration (API Server Scale Out)"
+4 -2
View File
@@ -1044,12 +1044,12 @@ steps:
source_file_dependencies:
- vllm/entrypoints
- tests/entrypoints/unit_tests
- tests/entrypoints/weight_transfer
- tests/entrypoints/rl/weight_transfer
- tests/entrypoints/launchers
- vllm/platforms/rocm.py
commands:
- pytest -v -s entrypoints/unit_tests
- pytest -v -s entrypoints/weight_transfer
- pytest -v -s entrypoints/rl/weight_transfer
- pytest -v -s entrypoints/launchers
- label: ":amd: (MI300) Entrypoints Integration (Responses API)" # TBD
@@ -3746,11 +3746,13 @@ steps:
- vllm/
- tests/entrypoints/serve
- tests/entrypoints/scale_out
- tests/entrypoints/rl
commands:
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
- pytest -v -s entrypoints/serve --ignore=entrypoints/serve/dev/rpc --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB
- if [ "$$BUILDKITE_PARALLEL_JOB" = "1" ]; then PYTHONPATH=/vllm-workspace pytest -v -s entrypoints/serve/dev/rpc; fi
- pytest -v -s entrypoints/scale_out --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB
- pytest -v -s entrypoints/rl --ignore=entrypoints/rl/weight_transfer --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB
- label: ":amd: (MI355 DPX) Entrypoints Integration (OpenAI API completion)" # TBD
timeout_in_minutes: 65
-2
View File
@@ -31,11 +31,9 @@ steps:
source_file_dependencies:
- vllm/entrypoints
- tests/entrypoints/unit_tests
- tests/entrypoints/weight_transfer
- tests/entrypoints/launchers
commands:
- pytest -v -s entrypoints/unit_tests
- pytest -v -s entrypoints/weight_transfer
- pytest -v -s entrypoints/launchers
mirror:
amd:
+25
View File
@@ -0,0 +1,25 @@
group: RL
depends_on:
- image-build
steps:
- label: ":nvidia: (H200 MIG 35GB) RL Entrypoints"
device: h200_35gb
key: rl-entrypoints-tests
timeout_in_minutes: 40
working_dir: "/vllm-workspace/tests"
source_file_dependencies:
- vllm/
- "!vllm/distributed/kv_transfer/"
- tests/entrypoints/rl
commands:
- pytest -v -s entrypoints/rl/weight_transfer
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
- pytest -v -s entrypoints/rl --ignore=entrypoints/rl/weight_transfer
mirror:
amd:
label: ":amd: (MI355 DPX) RL Entrypoints"
dind: false
device: mi355_dpx
timeout_in_minutes: 50
depends_on:
- image-build-amd
-2
View File
@@ -82,7 +82,6 @@ steps:
- tests/entrypoints/scale_out/token_in_token_out/test_serving_tokens.py
- tests/entrypoints/serve/instrumentator/test_basic.py
- tests/entrypoints/serve/instrumentator/test_metrics.py
# - tests/entrypoints/serve/dev/test_sleep.py
- tests/entrypoints/serve/tokenize/test_tokenization.py
commands:
- export VLLM_USE_RUST_FRONTEND=1
@@ -93,7 +92,6 @@ steps:
# test_generate_logprobs expects Python-style top_logprobs truncation (dedup sampled + cap at max(k, 1)).
- 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"
- 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"
# - pytest -v -s entrypoints/serve/dev/test_sleep.py
# /tokenizer_info is not implemented in the Rust frontend (the CLI flag is accepted as a no-op).
- pytest -v -s entrypoints/serve/tokenize/test_tokenization.py -k "not tokenizer_info"
mirror:
+1 -2
View File
@@ -231,8 +231,7 @@ mkdocs.yaml @hmellor
/vllm/distributed/weight_transfer @aoshen02
/vllm/entrypoints/serve/dev/rlhf @njhill @aoshen02
/tests/distributed/test_weight_transfer.py @aoshen02
/tests/entrypoints/weight_transfer @DarkLight1337 @robertgshaw2-redhat @aarnphm @NickLucche @AndreasKaratzas @aoshen02
/tests/entrypoints/serve/dev/rlhf @DarkLight1337 @robertgshaw2-redhat @aarnphm @NickLucche @AndreasKaratzas @aoshen02
/tests/entrypoints/rl @DarkLight1337 @robertgshaw2-redhat @njhill @aarnphm @NickLucche @AndreasKaratzas @aoshen02
/tests/v1/worker/test_gpu_worker_weight_transfer.py @aoshen02
/examples/rl @aoshen02
/docs/training/rlhf.md @aoshen02
@@ -7,7 +7,7 @@ import numpy as np
import pybase64 as base64
import pytest
from ...utils import RemoteOpenAIServer
from tests.utils import RemoteOpenAIServer
MODEL_NAME = "TitanML/tiny-mixtral"
@@ -10,7 +10,7 @@ from unittest.mock import patch
import pytest
import requests
from tests.entrypoints.serve.dev.rlhf.conftest import (
from tests.entrypoints.rl.conftest import (
cached_tokens,
completion_with_cache_details,
gen,
@@ -9,7 +9,7 @@ import requests
import torch
from transformers import AutoModelForCausalLM
from tests.entrypoints.serve.dev.rlhf.conftest import (
from tests.entrypoints.rl.conftest import (
MODEL_NAME,
gen,
health,
@@ -7,7 +7,7 @@ import torch
from prometheus_client.parser import text_string_to_metric_families
from transformers import AutoModelForCausalLM
from tests.entrypoints.serve.dev.rlhf.conftest import MODEL_NAME
from tests.entrypoints.rl.conftest import MODEL_NAME
from tests.utils import RemoteOpenAIServer
from vllm.distributed.weight_transfer import (
HTTPVLLMWeightSyncClient,
@@ -15,6 +15,7 @@ from unittest.mock import patch
import pytest
import torch
from tests.utils import create_new_process_for_each_test
from vllm.config import WeightTransferConfig
from vllm.distributed.weight_transfer.base import (
WeightTransferEngine,
@@ -24,8 +25,6 @@ from vllm.distributed.weight_transfer.base import (
WeightTransferUpdateRequest,
)
from ...utils import create_new_process_for_each_test
# Use a tiny model for fast testing
MODEL_NAME = "hmellor/tiny-random-LlamaForCausalLM"
@@ -5,8 +5,8 @@
Mirrors test_serving_tokens.py but exercises the multimodal piping
using Qwen/Qwen3-VL-2B-Instruct end-to-end via the server's /render ->
/generate -> /detokenize path. Intentionally avoids running the HF
processor in the pytest parent process to keep os.fork() in sibling
tests (e.g. test_weight_transfer_llm.py) deadlock-free.
processor in the pytest parent process to keep os.fork() in other
tests (e.g. entrypoints/rl/weight_transfer/test_offline.py) deadlock-free.
"""
import httpx
+1 -1
View File
@@ -38,10 +38,10 @@ SILENT_GROUPS = [
"tests/entrypoints/generate",
"tests/entrypoints/multimodal",
"tests/entrypoints/pooling",
"tests/entrypoints/rl",
"tests/entrypoints/serve",
"tests/entrypoints/tool_parsers",
"tests/entrypoints/unit_tests",
"tests/entrypoints/weight_transfer",
"tests/kernels/attention",
"tests/kernels/core",
"tests/kernels/helion",