Skip to content

fix(docker): cherry-pick #28519 (restore npm to non_root builder) onto patch/v1.84.1#28973

Merged
yuneng-berri merged 3 commits into
patch/v1.84.1from
litellm_yj/cherry-pick-npm-fix-v1.84.1
May 27, 2026
Merged

fix(docker): cherry-pick #28519 (restore npm to non_root builder) onto patch/v1.84.1#28973
yuneng-berri merged 3 commits into
patch/v1.84.1from
litellm_yj/cherry-pick-npm-fix-v1.84.1

Conversation

@yuneng-berri

Copy link
Copy Markdown
Collaborator

Cherry-picks 9e7192e099 (fix(docker): restore npm to non_root builder image (#28519)) onto patch/v1.84.1. Already present on patch/v1.86.1; missing from patch/v1.84.1 and patch/v1.85.1. Sibling PR for v1.85.1 will follow.

Why this matters on the 1.84 line

The non_root builder stage installs nodejs but not npm. Without npm on PATH, prisma-python falls back to downloading a Node runtime via nodeenv from nodejs.org, and the downloaded binary fails to load libatomic.so.1 — breaking prisma generate and the non_root image build.

Diff

  • docker/Dockerfile.non_root — 2+/1- (single apk add line)
  • pyproject.toml — version bump 1.84.2 → 1.84.3
  • uv.lock — workspace pin sync

Conflict resolution

Cherry-pick applied cleanly with no conflicts.

Test plan

  • CI builds the non_root image without falling back to nodeenv

The non_root builder stage installs `nodejs` but not `npm`. Without `npm`
on PATH, prisma-python falls back to downloading a Node runtime via
nodeenv from nodejs.org, and that downloaded binary fails to load
`libatomic.so.1` — breaking `prisma generate` and the image build.

`npm` was dropped from this apk list in ca52e34. Restoring it lets
prisma-python use the system Node + npm, matching docker/Dockerfile
which already installs `npm` for the same reason.
@greptile-apps

greptile-apps Bot commented May 27, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Cherry-picks the npm restoration fix from #28519 onto the patch/v1.84.1 branch and bumps the patch version to 1.84.3. The builder stage of Dockerfile.non_root was installing nodejs without npm, causing prisma-python to fall back to downloading a Node runtime via nodeenv, which then failed to load libatomic.so.1.

  • docker/Dockerfile.non_root: Adds npm to the builder-stage apk add command so prisma generate finds npm on PATH; the runtime stage intentionally omits npm since it runs prisma generate in offline/cache mode (PRISMA_OFFLINE_MODE=true).
  • pyproject.toml / uv.lock: Version bumped to 1.84.3 and lock file timestamp/pin synced accordingly.

Confidence Score: 5/5

Safe to merge — the change is a single-line addition of npm to an apk add in the builder stage, directly fixing a known build failure with no side effects on the runtime image.

The Dockerfile change is minimal and targeted: npm is added only to the builder stage where prisma generate needs it, leaving the runtime stage unchanged. The runtime stage already runs prisma generate in offline mode with cached binaries, so it remains unaffected. Version bump and lock file are consistent with each other and with the patch.

No files require special attention.

Important Files Changed

Filename Overview
docker/Dockerfile.non_root Adds npm alongside nodejs in the builder stage apk add so prisma generate finds npm on PATH instead of falling back to nodeenv/downloading a Node binary that fails on libatomic.so.1.
pyproject.toml Version bumped from 1.84.2 to 1.84.3 in both [project] and [tool.commitizen] sections as expected for a patch release.
uv.lock Lock file updated with new exclude-newer timestamp and litellm version pin synced to 1.84.3.

Reviews (1): Last reviewed commit: "chore: uv lock after version bump 1.84.2..." | Re-trigger Greptile

@yuneng-berri yuneng-berri merged commit aab7ff6 into patch/v1.84.1 May 27, 2026
60 of 74 checks passed
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.

1 participant