Skip to content

QVAC-24108 chore: enforce inference's peer dependencies in SDK - #4037

Merged
arun-mani-j merged 2 commits into
mainfrom
arun-mani-j/syncAddonsVersion
Aug 26, 2026
Merged

QVAC-24108 chore: enforce inference's peer dependencies in SDK#4037
arun-mani-j merged 2 commits into
mainfrom
arun-mani-j/syncAddonsVersion

Conversation

@arun-mani-j

Copy link
Copy Markdown
Contributor

🎯 What problem does this PR solve?

  • Addon version ranges are declared in three fields that must stay identical: @qvac/inference peerDependencies (optional peers), @qvac/inference devDependencies, and @qvac/sdk dependencies. Optional peers do not install transitively, so the SDK hard-depends on the same addons; inference mirrors them into devDependencies to build and test against them.
  • Nothing enforces that the three agree. A bump is a hand-edit in all three fields, and drift is silent.

📝 How does it solve it?

  • @qvac/inference peerDependencies is the single source of truth for addon ranges.
  • packages/sdk/scripts/check-addon-ranges.ts fails when any addon's range in @qvac/sdk dependencies or @qvac/inference devDependencies differs from the peer. It reports one line per addon and is silent on success. Example:
@qvac/tts-ggml: inference has it as ^0.7.4 in optional peerDependencies, but SDK has ^0.7.5.

Please ensure the SDK dependencies and inference devDependencies use the same addon versions as inference's peerDependencies.
  • The check is chained into the SDK lint gate (npm run check:addon-ranges), so pr-checks-sdk-pod runs it; the pod config's depends_on: packages/inference runs it on inference-only PRs too.
  • The check imports the two package.json files directly and has no dependencies.

🧪 How was it tested?

  • Aligned repo state passes with no output.
  • Injected drift fails: an SDK-vs-peer version mismatch, and an addon present in peerDependencies but absent from the mirrors.
  • lint (eslint + the check), typecheck, format, and the full pr-checks-sdk-pod gate pass.

@arun-mani-j
arun-mani-j requested review from a team as code owners August 25, 2026 07:54
@github-actions

github-actions Bot commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Review Status

Current Status: ✅ APPROVED
Approvals so far: Team Lead: 1, Member: 1

@arun-mani-j
arun-mani-j force-pushed the arun-mani-j/syncAddonsVersion branch from 028297d to b779e8b Compare August 25, 2026 07:54
@github-actions

Copy link
Copy Markdown
Contributor

License compliance — clean

No new dependency license findings in this PR.

Warn-only (shadow) mode — this check does not block merges yet.

Updated automatically by the canonical license compliance workflow.

NOTICE presence (advisory)

Missing NOTICE (advisory, does not block):

  • ./.github/actions/release-merge-guard
  • ./docs/website
  • ./packages/ggml-coload-smoke
  • ./packages/fabric/test/integration
  • ./packages/inference-addon-cpp/mobile
  • ./packages/sdk/e2e
  • ./packages/llm-llamacpp/benchmarks/performance
  • ./packages/llm-llamacpp/benchmarks/server
  • ./packages/vla-ggml/sim/server
  • ./packages/embed-llamacpp/benchmarks/performance
  • ./packages/embed-llamacpp/benchmarks/server
  • ./packages/asr-ggml/benchmarks/server

Comment thread packages/sdk/scripts/check-addon-ranges.ts Outdated
@arun-mani-j
arun-mani-j force-pushed the arun-mani-j/syncAddonsVersion branch from b779e8b to 2f706d9 Compare August 25, 2026 10:58
@arun-mani-j
arun-mani-j force-pushed the arun-mani-j/syncAddonsVersion branch from 2f706d9 to a550a59 Compare August 25, 2026 12:05
opaninakuffo
opaninakuffo previously approved these changes Aug 25, 2026
Comment thread packages/sdk/scripts/check-addon-ranges.ts Outdated
Comment thread packages/sdk/scripts/check-addon-ranges.ts Outdated
@arun-mani-j
arun-mani-j force-pushed the arun-mani-j/syncAddonsVersion branch 2 times, most recently from b75ac09 to 4a49724 Compare August 26, 2026 06:29
@arun-mani-j arun-mani-j changed the title QVAC-24108 chore: check addon version ranges stay in sync across @qvac/inference and @qvac/sdk QVAC-24108 chore: enforce inference's peer dependencies in SDK Aug 26, 2026
@arun-mani-j
arun-mani-j force-pushed the arun-mani-j/syncAddonsVersion branch from 4a49724 to 76a088a Compare August 26, 2026 09:30
@arun-mani-j
arun-mani-j force-pushed the arun-mani-j/syncAddonsVersion branch from 76a088a to 8e611dc Compare August 26, 2026 09:50
Signed-off-by: Arun Mani J <j.arunmani@proton.me>
Signed-off-by: Arun Mani J <j.arunmani@proton.me>
@arun-mani-j
arun-mani-j force-pushed the arun-mani-j/syncAddonsVersion branch from 8e611dc to f1fcc17 Compare August 26, 2026 12:15
@arun-mani-j
arun-mani-j merged commit 950e766 into main Aug 26, 2026
36 checks passed
@arun-mani-j
arun-mani-j deleted the arun-mani-j/syncAddonsVersion branch August 26, 2026 12:20
donriddo added a commit that referenced this pull request Aug 27, 2026
…d in #3812 (#4111)

#4037 wired enforce-inference-peer-dependencies into the SDK lint script. The
ABot-World merge (0c955ef) removed both lines: the script entry and the lint
invocation. The script file survived, so nothing ran it and nothing failed.

Not a conflict resolution. packages/sdk/package.json auto-merged cleanly; the
merge then ran git checkout HEAD -- on it to undo a sdk-source:workspace
rewrite, which mid-merge resolves to the pre-merge commit and restored the
branch's copy over the auto-merge.

Restores both lines exactly; the blob matches the pre-merge state. The script
passes against main as it stands.
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