Skip to content

Remove the default embedding package from the chromadb dev dependencies - #1505

Merged
cristianrgreco merged 2 commits into
mainfrom
claude/skip-cuda-download
Oct 12, 2026
Merged

cristianrgreco merged 2 commits into
mainfrom
claude/skip-cuda-download

Conversation

@cristianrgreco

@cristianrgreco cristianrgreco commented Oct 12, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Removes @chroma-core/default-embed from the chromadb module's dev dependencies. That takes onnxruntime-node out of the install, which is what broke Lint on main.

  • packages/modules/chromadb/package.json: the dev dependency is removed. The lockfile loses 55 packages (@chroma-core/*, @huggingface/transformers, onnxruntime-node, onnxruntime-web, sharp and its platform packages) and nothing else changes.
  • docs/modules/chromadb.md: the package is now listed as optional for the examples, with what happens without it.
  • An earlier commit on this branch set ONNXRUNTIME_NODE_INSTALL_CUDA=skip in the npm-setup action. With the package gone that's no longer needed, so the action is unchanged from main.

Why

The Lint job failed on main after #1495 (run). It wasn't a lint error. npm ci failed:

npm error path .../node_modules/onnxruntime-node
npm error command sh -c node ./script/install
npm error Downloading "https://github.com/microsoft/onnxruntime/releases/download/v1.21.0/onnxruntime-linux-x64-gpu-1.21.0.tgz"...
npm error Error: Failed to download the binaries: 504 Gateway Time-out.

onnxruntime-node came in through @chroma-core/default-embed. On Linux x64 its postinstall script downloads a 214 MB archive of CUDA libraries from GitHub. Since #1495 every job installs every workspace, so when the shared cache is missing, a failed download fails whichever job hits it. The same error also failed a test job on #1492.

The chromadb tests don't need the package. They pass embeddings explicitly or supply their own embedding function. Without it, chromadb logs a warning when a collection has no embedding function and carries on.

Verification

  • The chromadb suite was run in a copy of the repository outside the checkout, installed without the package, where require.resolve("@chroma-core/default-embed") fails: 5 of 5 tests pass, including the Ollama embedding test. chromadb logged its "Please install @chroma-core/default-embed" warning 12 times.
  • npm ci succeeds with the new lockfile and leaves it unchanged. The lockfile diff is the 55 removed packages plus the workspace's manifest entry.
  • npm run format, npm run lint, npm run check-compiles: pass.

Effect on installs

  • Local node_modules goes from 1.3 GB to 934 MB.
  • The shared CI cache was 445 MB with the CUDA libraries and 280 MB with the download skipped. It should be smaller again without these packages; this PR's CI run will show the figure.

Follow-up for #1492

#1492's knip.jsonc ignores @chroma-core/default-embed for the chromadb workspace. Once this is merged that entry is unneeded; knip will print a configuration hint for it until it's removed.

Why this isn't breaking

@chroma-core/default-embed was a dev dependency, so @testcontainers/chromadb's published dependencies don't change. No package source changes.

onnxruntime-node, a dev dependency of the chromadb module, downloads CUDA
binaries from GitHub in its postinstall script. Every job now installs
every workspace, so a failed download fails the Lint job.
@cristianrgreco cristianrgreco added maintenance Improvements that do not change functionality patch Backward compatible bug fix labels Oct 12, 2026
The chromadb tests pass without @chroma-core/default-embed. It pulls in
onnxruntime-node, whose install script downloads CUDA binaries and failed
the Lint job on main. With the package gone, nothing installs
onnxruntime-node, so the switch that skipped that download goes too.
@cristianrgreco cristianrgreco changed the title Skip the CUDA download when installing dependencies in CI Remove the default embedding package from the chromadb dev dependencies Oct 12, 2026
@cristianrgreco
cristianrgreco marked this pull request as ready for review October 12, 2026 13:26
@cristianrgreco
cristianrgreco merged commit 157f94c into main Oct 12, 2026
191 checks passed
@cristianrgreco
cristianrgreco deleted the claude/skip-cuda-download branch October 12, 2026 13:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintenance Improvements that do not change functionality patch Backward compatible bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant