Repository navigation
[serge] Fix 6 integration tests for model seamless_m4t_v2 failing with other (other (6)) - #48425
Merged
Merged
Conversation
…ith `other` (other (6))
|
The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update. |
eustlb
reviewed
Aug 31, 2026
eustlb
left a comment
Collaborator
There was a problem hiding this comment.
LGTM!
I've added the change from input_features to audio_array since the name was misleading !
Contributor
|
[For maintainers] Suggested jobs to run (before merge) run-slow: seamless_m4t_v2 |
eustlb
approved these changes
Aug 31, 2026
Contributor
CI recapDashboard: View test results in Grafana |
tarekziade
enabled auto-merge
August 31, 2026 09:12
tarekziade
added a commit
that referenced
this pull request
Sep 7, 2026
`test_to_rus_speech` did not fail because of a `squeeze()` quirk: #48425 changed the `input_audio` fixture from `audio=[input_features.tolist()]` (one 2-channel sample, batch size 1) to `audio=audio_array.tolist()` (two mono samples, batch size 2), so `output.sequences` became `[2, N]` and `tolist()` nested. Flattening cannot make the test pass -- it produces 2N tokens against an 8-token expectation -- and the two following assertions on `unit_sequences` and `waveform` stay nested as well. Restore the batch-1 input the expected values were computed with. The sample is passed as a tensor because `make_list_of_audio` (the validation that made #48425 necessary) only accepts arrays, tensors or lists of floats, not a triply-nested list. The resulting `input_features` are bit-identical to the pre-#48425 ones (verified: both `(1, 62, 160)`, `torch.equal` on features and attention mask). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This was referenced Sep 7, 2026
Close three ITF guidance gaps the 2026-09-04..06 serge PRs fell into
huggingface/transformers-ci#114
Merged
tarekziade
added a commit
to huggingface/serge
that referenced
this pull request
Sep 7, 2026
…ecker list (#117) Three gaps behind the 2026-09-04..06 task PRs on transformers. ### `expectation_guard`: an assertion rewrite wearing a method call Rule 2 asks whether removing literals leaves both sides identical, so a *new identifier* reads as a real code change. [transformers#48553](huggingface/transformers#48553) added `.flatten()` to `output.sequences.squeeze().tolist()` and was therefore classified a real fix, keeping its verification claim — for a patch that cannot make the test pass. A residue difference explained entirely by shape/ordering operations appearing on one side is now `expectation_only`, with its own sentence in `reason()` ("rewrites how an assertion compares its values… a shape or ordering difference is a sign the inputs changed"). `.to(...)`, `.cpu()`, `.float()` are deliberately **not** in the set: those change the value rather than its shape, so a patch adding one keeps its claim. The module stays a label, not a blocker. ### `verify`: the gate cannot see what it does not run `extract_verify_targets` returns the failure group's own node-ids, which is full coverage for a patch confined to those tests and none at all for one that edits scaffolding they share. [transformers#48425](huggingface/transformers#48425) changed the `input_audio` `cached_property` from one 2-channel sample to two mono samples, verified its 6 targeted tests green, and left `test_to_rus_speech` — same class, same fixture — comparing a nested list against a flat expectation. #48553 then tried to paper over that. `patch_needs_collateral(patch, node_ids)` spots a hunk that shows scaffolding (`setUp`, `tearDown`, `setUpClass`, `@cached_property`, `@classmethod`, `@property`) or a `def` that is not one of the targeted tests, and `_make_verify_gate` turns the collateral suite on for that run even when `VERIFY_RUN_COLLATERAL` is off. The mechanism already existed; it just had to be asked for. It is judged from the hunk text alone — the patch is the model's proposal, so its `@@` headers carry no function context to trust. A change inside a targeted test's body, or an expectation hunk whose context shows no `def`, does not trigger it. ### `prod.yaml`: the checker list had drifted `TASK_NORMALIZE_COMMAND` spelled out 23 checker names instead of calling `make fix-repo`, and was missing `noisy_comments`, `reviewers` and `add_dates` — all three of which transformers' CI runs. A patch could clear this gate and still land a red `check-code-quality` / `Check repository consistency`. (`noisy_comments` is the one that stings: it flags comments that restate the code, which is exactly what an LLM patch adds.) transformers' Makefile derives `fix-repo` from the CI sets *precisely so the list cannot drift*, and its `utils/checkers-requirements.txt` is already written for this `--network none` sandbox (per-checker opt-in). `TRANSFORMERS_SKIP_CHECKER_REQUIREMENTS=1` keeps even those installs from burning retries. `make` is guaranteed by `docker/Dockerfile.task-runner`. `948 passed, 3 skipped` (`tests/test_app.py` deselected — it needs `flask`, absent from my local env and unrelated). Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
sbucaille
pushed a commit
to sbucaille/transformers
that referenced
this pull request
Sep 16, 2026
…ith `other` (other (6)) (huggingface#48425) * [serge] Fix 6 integration tests for model `seamless_m4t_v2` failing with `other` (other (6)) * input_features is a misleading name here! --------- Co-authored-by: serge[bot] <serge[bot]@users.noreply.github.com> Co-authored-by: eustlb <94853470+eustlb@users.noreply.github.com>
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.
Original CI failure
6 integration tests for modelseamless_m4t_v2failing withother(other (6))tests/models/seamless_m4t_v2/test_modeling_seamless_m4t_v2.py::SeamlessM4Tv2ModelIntegrationTest::test_speech_to_speech_model[multi-gpu] (other, seen 6/7)CI traceback —
tests/models/seamless_m4t_v2/test_modeling_seamless_m4t_v2.py::SeamlessM4Tv2ModelIntegrationTest::test_speech_to_speech_modelWhere to watch it:
Relates to #48423
The
SeamlessM4Tv2ModelIntegrationTestspeech integration tests crash inaudio_utils.make_list_of_audiobecause theinput_audiofixture wraps the batch of audio samples in an extra list, producing a triply-nested[[[float]]]structure that the audio validation helpers reject.Root cause:
audio=[input_features.tolist()]creates an invalid audio input shape.Fix: remove the extra list wrapping so the processor receives a proper list of two mono audio samples (
audio=input_features.tolist()).✅ Verified on GPU
serge ran the targeted
@slowtest(s) on a GPU runner and opened this PR only after they passed with this patch. Each targeted test was run 5× on both the pre-patch and patched trees to rule out flakiness — the result held on every run.Possibly related
Existing issues/PRs mentioning
test_speech_to_speech_model(keyword match — not verified to share a root cause):This change was produced automatically by serge from a CI failure report. The patch was generated by an LLM and applied by serge; review before merging.
serge
v0.1.0· model:moonshotai/Kimi-K2.7-Code· 28 LLM turns · 30 tool calls · 68.6s · 898719 in / 13877 out tokens