[CI] Restore SMG e2e on 2-gpu-h100 / 4-gpu-h100 runners (#24222)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kangyan-Zhou
2026-05-01 23:55:20 -07:00
committed by GitHub
co-authored by Claude Opus 4.7
parent b939d5410f
commit 2e72a36420
16 changed files with 610 additions and 383 deletions
@@ -18,11 +18,34 @@ import pytest
logger = logging.getLogger(__name__)
_GRPC_EMBEDDING_SKIP_REASON = (
"SMG router's vendored smg-grpc-client (pinned at =1.0.0 in "
"sgl-model-gateway/Cargo.toml) uses the legacy oneof EmbedResponse "
"proto. Python smg-grpc-servicer >= 0.5.2 (the only version compatible "
"with current sglang utils + MultimodalInputs APIs) emits the new flat "
"EmbedResponse layout. Wire-format mismatch -> Rust client decodes to "
"all-None oneof variants -> 'embedding_no_response' 500. Re-enable once "
"sgl-model-gateway is bumped to smg-grpc-client >= 1.4.0 (which has the "
"flat proto); that bump cascades through openai-protocol 1.7.0 + several "
"other crates and is its own coordinated effort. HTTP backend variant of "
"these tests still runs and validates the embedding pipeline end-to-end."
)
@pytest.mark.e2e
@pytest.mark.model("embedding")
@pytest.mark.parametrize("setup_backend", ["grpc", "http"], indirect=True)
@pytest.mark.parametrize(
"setup_backend",
[
pytest.param(
"grpc", marks=pytest.mark.skip(reason=_GRPC_EMBEDDING_SKIP_REASON)
),
"http",
],
indirect=True,
)
class TestEmbeddingBasic:
"""Basic embedding API tests using local workers (gRPC and HTTP)."""
"""Basic embedding API tests using local workers (HTTP — gRPC variant skipped)."""
def test_embedding_single(self, setup_backend):
"""Test single text embedding.