Skip to content

chore(release): cherry-pick #28519 (non_root npm fix) into patch/1.86.0#28744

Merged
yuneng-berri merged 1 commit into
patch/1.86.0from
litellm_/bold-lumiere-b74316
May 24, 2026
Merged

chore(release): cherry-pick #28519 (non_root npm fix) into patch/1.86.0#28744
yuneng-berri merged 1 commit into
patch/1.86.0from
litellm_/bold-lumiere-b74316

Conversation

@yuneng-berri

Copy link
Copy Markdown
Collaborator

Summary

  • Cherry-picks #28519 (f1abe03ed6) onto patch/1.86.0 to unblock the v1.86.0-stable Dockerfile.non_root build.
  • Without npm on PATH, prisma-python falls back to a nodeenv-bootstrapped node that fails to load libatomic.so.1 on Wolfi, causing prisma generate to exit 127 (see project-releaser run #26349890283).
  • Fix is already on litellm_internal_staging; v1.86.0-rc.1 was cut before it landed.

Test plan

  • Re-trigger the project-releaser non_root build off patch/1.86.0 and confirm prisma generate succeeds.

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.
@yuneng-berri yuneng-berri merged commit a13cd21 into patch/1.86.0 May 24, 2026
17 of 46 checks passed
@greptile-apps

greptile-apps Bot commented May 24, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Cherry-picks the one-line npm fix from #28519 onto patch/1.86.0 to unblock the v1.86.0-stable Dockerfile.non_root build. Without npm on PATH, prisma-python fell back to a nodeenv-bootstrapped Node binary that cannot load libatomic.so.1 on Wolfi, causing prisma generate to exit with code 127.

  • Adds npm alongside nodejs in the builder stage's apk add block so prisma generate (line 93) finds a system npm and skips the broken nodeenv fallback.
  • The runtime stage (apk add at line 107) still installs only nodejs without npm; the runtime prisma generate (line 141) relies on PRISMA_OFFLINE_MODE=true and pre-copied engine binaries to avoid the same fallback path.

Confidence Score: 4/5

The builder-stage fix is correct and minimal. The only open question is whether the runtime-stage prisma generate (which does not install npm) is fully covered by PRISMA_OFFLINE_MODE=true and the pre-copied engine binaries.

The change is a targeted one-liner cherry-pick that directly addresses a documented build failure. The runtime stage's prisma generate run without npm is a plausible second exposure of the same issue, though environment variables and pre-built binaries are likely enough to prevent it. The test plan checkbox is still unchecked, so end-to-end confirmation is pending.

The runtime-stage apk add block in docker/Dockerfile.non_root (lines 103–108) is worth a second look to confirm that the missing npm there is intentional and covered by the offline-mode flags.

Important Files Changed

Filename Overview
docker/Dockerfile.non_root Adds npm to the builder stage's apk add list so prisma generate (line 93) finds npm on PATH and avoids the nodeenv fallback that fails to load libatomic.so.1 on Wolfi. The runtime stage also runs prisma generate (line 141) but still does not install npm; PRISMA_OFFLINE_MODE=true and pre-copied binaries may cover that case.

Comments Outside Diff (1)

  1. docker/Dockerfile.non_root, line 103-108 (link)

    P2 Runtime stage prisma generate also lacks npm

    The runtime stage runs prisma generate at line 141 but does not install npm (line 107 only adds nodejs). If prisma-python applies the same npm-presence check that triggered the nodeenv fallback in the builder stage, the runtime-stage build could fail for the same reason. The PRISMA_OFFLINE_MODE=true and pre-copied engine binaries from the builder stage may prevent this in practice, but it is worth confirming that no nodeenv code path is exercised during the runtime prisma generate run.

Reviews (1): Last reviewed commit: "fix(docker): restore npm to non_root bui..." | Re-trigger Greptile

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