Skip to content

Fix CI dependency resolution for pinned Transformers and VibeVoice - #789

Merged
titaiwangms merged 2 commits into
mainfrom
titaiwang/ci-vibevoice-deps-9a2a5b82
Oct 26, 2026
Merged

titaiwangms merged 2 commits into
mainfrom
titaiwang/ci-vibevoice-deps-9a2a5b82

Conversation

@titaiwangms

@titaiwangms titaiwangms commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Fix VibeVoice CI dependency installation by resolving the pinned Transformers source together with the editable Mobius project, then installing the pinned VibeVoice source with --no-deps.

Failure and fix

The failing install sequence first resolved Transformers 5.20.2 with Hub 2.3.0 and httpx2, then force-installed Transformers 5.16.0.dev0 from the combined VibeVoice requirements using --no-deps. That left Hub 2.3.0 installed despite the pinned Transformers source requiring huggingface-hub>=1.5.0,<2.0. Importing AutoConfig then failed when Transformers imported the absent httpx module.

The split install resolves the pinned Transformers source and its dependencies together with the editable project, installs only VibeVoice with --no-deps, and immediately exercises from transformers import AutoConfig. It neither blindly adds httpx nor changes either source revision.

Primary evidence: pinned Transformers dependencies, upstream VibeVoice metadata, and the failed synthetic parity job.

Both 40-character source pins remain unchanged:

  • Transformers: 640a08a597034221ca1c4fc0c129cf0118179225
  • VibeVoice: 79e516a3e20b599f137c9da03410a2a0b473b63b

All five install steps retain actual dependency resolution and AutoConfig import smoke, and the YAML-structure Python tests were removed following review.

Validation

  • ruff format, ruff check, ruff format --check, and git diff --check: passed.
  • Validation log: ci-vibevoice-deps-validation-v2.log.

A local fresh-venv network resolver run was not performed; host CI validation remains pending. No installs, full-model, or GPU runs were performed.

VibeVoice's upstream metadata still declares Transformers <5. This preserves the existing reference integration's deliberate --no-deps exception for VibeVoice; it does not resolve that pre-existing metadata mismatch or apply the exception to Transformers itself.

This PR is standalone from main d69efe03a9f4c1ada744bc31dd01077a710b3c39 and independent of #754 and #787.

Using --no-deps for Transformers 5.16 left the VibeVoice Hub 2 dependency incompatible. Resolve the pinned Transformers requirements together with the editable project before installing only VibeVoice with --no-deps, preserving both revisions. Add five AutoConfig smokes and six offline contract tests; the tests pass. A local fresh-environment resolver run was not performed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 9a2a5b82-7cd3-4a76-bb94-0998527ea723
Signed-off-by: titaiwang <titaiwang@microsoft.com>
@titaiwangms
titaiwangms requested review from a team and a balanced review from Copilot October 25, 2026 00:50

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Fresh-environment CI validation is still needed to confirm dependency resolution and the AutoConfig smoke check succeed.

No open issues 🎉

What changed in this PR

This PR corrects CI dependency installation by resolving pinned Transformers alongside editable Mobius before installing VibeVoice with --no-deps. Both source revisions remain unchanged.

Changes:

  • Update all five VibeVoice installation steps across four workflows.
  • Separate Transformers and VibeVoice requirements and add an AutoConfig import smoke check.
  • Add regression tests for installation order, workflow structure, and source-pin format.
File Description
tests/​ci_dependencies_test.py Tests install ordering, smoke checks, and source requirement structure.
requirements/​ci/​vibevoice.txt Retains only VibeVoice and documents its dependency exception.
requirements/​ci/​transformers.txt Separates the existing Transformers source pin for dependency resolution.
.github/​workflows/​nightly_l2.yml Updates nightly dependency installation and adds the smoke check.
.github/​workflows/​main.yml Updates both VibeVoice installation steps and adds smoke checks.
.github/​workflows/​gpu_l5_generation_e2e.yml Updates generation-test dependency installation and adds the smoke check.
.github/​workflows/​gpu_l4_golden_parity.yml Updates golden-parity dependency installation and adds the smoke check.

Review effort: Balanced

@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Performance Comparison

Comparing d69efe03 → 84151a18

Model Metric Baseline Current Delta
bert (feature-extraction) model_size_bytes 359 KB 359 KB +0.0% ⚪
bert (feature-extraction) num_nodes 68 68 +0.0% ⚪
falcon model_size_bytes 364 KB 364 KB +0.0% ⚪
falcon num_nodes 66 66 +0.0% ⚪
gemma2 model_size_bytes 428 KB 428 KB +0.0% ⚪
gemma2 num_nodes 105 105 +0.0% ⚪
gpt2 model_size_bytes 324 KB 324 KB +0.0% ⚪
gpt2 num_nodes 54 54 +0.0% ⚪
llama model_size_bytes 425 KB 425 KB +0.0% ⚪
llama num_nodes 60 60 +0.0% ⚪
llama (static-cache) model_size_bytes 425 KB 425 KB +0.0% ⚪
llama (static-cache) num_nodes 56 56 +0.0% ⚪
mamba (ssm-text-generation) model_size_bytes 296 KB 296 KB +0.0% ⚪
mamba (ssm-text-generation) num_nodes 94 94 +0.0% ⚪
phi3 model_size_bytes 421 KB 421 KB +0.0% ⚪
phi3 num_nodes 58 58 +0.0% ⚪
phi3 (static-cache) model_size_bytes 421 KB 421 KB +0.0% ⚪
phi3 (static-cache) num_nodes 54 54 +0.0% ⚪
qwen2 model_size_bytes 425 KB 425 KB +0.0% ⚪
qwen2 num_nodes 60 60 +0.0% ⚪
qwen2 (static-cache) model_size_bytes 425 KB 425 KB +0.0% ⚪
qwen2 (static-cache) num_nodes 56 56 +0.0% ⚪
qwen3_5_moe (hybrid-text-generation) model_size_bytes 506 KB 506 KB +0.0% ⚪
qwen3_5_moe (hybrid-text-generation) num_nodes 269 269 +0.0% ⚪
qwen3_5_text (hybrid-text-generation) model_size_bytes 458 KB 458 KB +0.0% ⚪
qwen3_5_text (hybrid-text-generation) num_nodes 131 131 +0.0% ⚪
qwen3_5_vl (hybrid-qwen-vl) model_size_bytes 977 KB 977 KB +0.0% ⚪
qwen3_5_vl (hybrid-qwen-vl) num_nodes 461 461 +0.0% ⚪
t5 (seq2seq) model_size_bytes 836 KB 836 KB +0.0% ⚪
t5 (seq2seq) num_nodes 176 176 +0.0% ⚪
whisper (speech-to-text) model_size_bytes 1008 KB 1008 KB +0.0% ⚪
whisper (speech-to-text) num_nodes 128 128 +0.0% ⚪

No performance regressions.

Comment thread tests/ci_dependencies_test.py Outdated
Real dependency installation and AutoConfig import smokes remain. The removed YAML-string checks overconstrain workflow structure.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 9a2a5b82-7cd3-4a76-bb94-0998527ea723
Signed-off-by: titaiwang <titaiwang@microsoft.com>
@titaiwangms
titaiwangms enabled auto-merge (squash) October 25, 2026 18:41
@titaiwangms
titaiwangms merged commit 2e5508f into main Oct 26, 2026
24 checks passed
@titaiwangms
titaiwangms deleted the titaiwang/ci-vibevoice-deps-9a2a5b82 branch October 26, 2026 15:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants