fix(ci): unblock main build (stop_reason refs + omni-test CPU collection) - #9407
Merged
Conversation
ChatChoiceStream has no stop_reason field (lib/protocols/src/types/chat.rs:813). PR #9058 (f6117b8, landed today) re-introduced two assignments that were already removed by PR #8119, breaking dynamo-llm compilation on main and blocking every PR's build. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
WalkthroughThis PR adjusts streaming choice data handling during the end-of-stream flush operation. The preprocessor now clears reasoning-related delta fields instead of stop_reason, and the test helper is updated to align with this field-handling change. ChangesStream Flush Behavior for Reasoning Fields
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The sample-unified-test CPU runner imports test_*.py files in the vllm/omni/ tree during pytest collection, which triggers a vllm_omni import that fails on platforms vllm_omni doesn't support. Extend the existing pytest_ignore_collect guard in vllm/tests/conftest.py to also cover omni/ files when vllm_omni isn't importable. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2 tasks
tanmayv25
approved these changes
May 12, 2026
krishung5
enabled auto-merge (squash)
May 12, 2026 00:57
importlib.util.find_spec("vllm_omni") is insufficient — vllm_omni IS
installed on sample-runtime CPU runners. The real failure is deep in
the import chain (vllm._C → libcuda.so.1) and surfaces as
NotImplementedError, not ImportError. Attempt the actual import once,
cache the result, and use that to decide collection.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
tests/serve/test_vllm_omni.py was already attempting a module-level skip when omni isn't available, but only caught ImportError. On CPU-only sample-runtime runners the chain reaches vllm._C → libcuda.so.1 and raises NotImplementedError, slipping past the guard and surfacing as a collection error. Broaden to catch any exception. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
ishandhanani
approved these changes
May 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
1. Drop dead
stop_reasonrefs (f804b56255)Main is currently failing the dynamo-llm build with
error[E0609]: no field stop_reason on type &mut ChatChoiceStreamatlib/llm/src/preprocessor.rs:1581.ChatChoiceStream(lib/protocols/src/types/chat.rs:813) only hasindex,delta,finish_reason,logprobs— nostop_reason.PR #9058 (
f6117b82ec, landed earlier today) introduced two dead assignments to a field that was already removed in PR #8119.2. Skip omni test collection on runners without
vllm_omni(9e086c21c0)sample-runtime / Unified Test cuda12.9, amd64runspytest -m "pre_merge and gpu_0 and unified"on a CPU-only runner with no path filter, so pytest walks the whole repo and imports everytest_*.pybefore applying marker filters.components/src/dynamo/vllm/tests/omni/test_*.pytransitively importsvllm_omniat module-load time; on platforms vllm_omni doesn't support, that raises something other thanImportError, so the per-filetry/except ImportError: pytest.skip(...)doesn't catch it.Extends the existing
pytest_ignore_collecthook incomponents/src/dynamo/vllm/tests/conftest.py(which already skipstest_vllm_*.pywhenvllmis unavailable) to also skip files under anomni/directory whenvllm_omniis unavailable.Test plan
vllm-runtime / Build multi-arch cuda12.9anddynamo-runtime / image / Build multi-arch cuda12.9go greensample-runtime / Unified Test cuda12.9, amd64goes greenvllm_omniinstalled — omni tests still get collected and run🤖 Generated with Claude Code