Skip to content

[CI] Fix MiniCPM-o duplex tests broken after #8971 - #9151

Merged
amy-why-3459 merged 1 commit into
vllm-project:mainfrom
amy-why-3459:fix/ci-duplex-17632
Oct 20, 2026
Merged

amy-why-3459 merged 1 commit into
vllm-project:mainfrom
amy-why-3459:fix/ci-duplex-17632

Conversation

@amy-why-3459

Copy link
Copy Markdown
Collaborator

Fixes the two failures in main-branch build vllm-omni #17632, the build for #8971.

Contributor intent (required human answers)

1. What outcome do you want to achieve?

Get main-branch CI green again: the Engine&Entrypoints&Diffusion and MiniCPM-o 4.5 Duplex jobs broke after #8971 merged.

2. What is the highest-leverage variable for that outcome?

Whether the two duplex tests match the current code and model behavior: the helper methods added in #8971, and the full-utterance input shape from #9019.

3. How will this work move that variable?

Update only the two tests. Bind the new commit-prefix helpers on the stub runner, and send a committed full utterance in the video-only e2e test. No runtime code changes.

4. Whose customer or user needs does this address, and what are those needs?

vLLM-Omni contributors and reviewers. They need a green, trustworthy main-branch CI so that unrelated PRs are not blocked, and real failures are not hidden by these ones.

Purpose

Simple · Engine&Entrypoints&Diffusion Test: tests/engine/duplex/test_auto_response_commit_consume.py fails with AttributeError: 'types.SimpleNamespace' object has no attribute '_reserve_commit_prefixes'. #8828 added this test, which calls DuplexSessionRunner._commit_and_start_auto_response on a SimpleNamespace stub runner. #8971 merged afterwards and made that method call _reserve_commit_prefixes, _hold_commit_prefixes, _rollback_commit_reservations, and _submit_held_commit_prefixes. Each PR passed on its own; they only conflict once both are merged. The fix binds the real helpers onto the stub and gives the fake buffer a prepare_commit_prefix that reserves nothing, so the test still covers the same single-terminal commit path.

Omni · MiniCPM-o 4.5 Duplex Test: test_duplex_video_only_units_then_audio_input (added in #8971) times out waiting for an audio response. The session got speech_started and one response.listen, then nothing for 180 s. The test streamed a 1.4 s active-speech crop and never committed it. That leaves one full unit, which the model answered with listen, plus a 400 ms remainder that sat in the buffer. #9019 had already moved test_duplex_single_session_response_required off this crop because the native model can legitimately keep listening on it. The fix makes the speech turn match that test: send the full fixture utterance, then input_audio_buffer.commit with final: true.

Only test files change. No runtime behavior or docs are affected.

Test Plan

vLLM Version: 0.32.0

vLLM-Omni Commit: 204f64c (upstream main 7b316e3 + this PR)

pytest tests/engine/duplex/ -q
MODEL_PREFIX=<local ckpt prefix> pytest -s -v \
  "tests/e2e/online_serving/test_minicpmo_4_5_duplex.py::test_duplex_video_only_units_then_audio_input" \
  --run-level advanced_model -m "advanced_model and cuda"
pre-commit run --files <changed files>

Test Result

  • tests/engine/duplex/: 1248 passed, 2 skipped. This includes both parametrizations of test_auto_response_commit_consumes_retained_pcm, which failed in build #17632.
  • test_duplex_video_only_units_then_audio_input[three-stage-single-gpu]: 1 passed in 558 s. I ran it on one NVIDIA L20X GPU, not the H100 that CI uses.
  • pre-commit: all hooks passed.

Not run locally: the rest of the MiniCPM-o 4.5 Duplex CI job and the full Engine&Entrypoints&Diffusion job. I did not rerun the unchanged e2e test locally to reproduce the original failure; the "before" evidence is the CI log from build #17632.

- Bind the commit-prefix helpers onto the stub runner in test_auto_response_commit_consume, which vllm-project#8828 added before vllm-project#8971 made _commit_and_start_auto_response call them.
- Send the full committed utterance in test_duplex_video_only_units_then_audio_input, matching the response-required test after vllm-project#9019. An uncommitted 1.4 s crop can leave the model listening.

Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ⚠️ Failed 2026-10-20T06:24:23.780426Z 204f64c PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Credits must be used to enable repository wide code reviews.

@amy-why-3459 amy-why-3459 added ready label to trigger buildkite CI high priority high priority issue, needs to be done asap merge-test label to trigger buildkite merge test CI labels Oct 20, 2026
@vllm-omni-review-bot

Copy link
Copy Markdown

This PR appears to be related to model: minicpm.

Model owners: @y-null @yenuo26 @NickCao

Routing: @y-null via model owner; @yenuo26 via CI owner, CODEOWNERS; @NickCao via CODEOWNERS

@amy-why-3459, please review your own changes and leave a short self-review comment describing what you checked. PRs without author self-review may not be assigned a reviewer.

Please take a look when you have a chance. If you would like an automated review, mention @vllm-omni-review-bot in a comment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

high priority high priority issue, needs to be done asap merge-test label to trigger buildkite merge test CI ready label to trigger buildkite CI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants