fix(docker): cherry-pick #28519 (restore npm to non_root builder) onto patch/v1.85.1#28974
Conversation
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.
a71db0e to
7e031bf
Compare
Greptile SummaryThis cherry-pick adds
Confidence Score: 5/5Safe to merge — the change is a minimal, targeted one-line fix to the builder stage with no impact on the runtime image or application logic. The only functional change is adding No files require special attention.
|
| Filename | Overview |
|---|---|
| docker/Dockerfile.non_root | Adds npm to the builder stage's apk add command alongside the existing nodejs, fixing prisma generate failures caused by the nodeenv fallback. |
| pyproject.toml | Version bump from 1.85.2 → 1.85.3 in both the [project] and [tool.commitizen] sections. |
| uv.lock | Workspace pin sync for the version bump; exclude-newer timestamp advanced ~27 minutes on the same day (no new packages expected in that window). |
Reviews (1): Last reviewed commit: "fix(docker): restore npm to non_root bui..." | Re-trigger Greptile
Cherry-picks
9e7192e099(fix(docker): restore npm to non_root builder image (#28519)) ontopatch/v1.85.1. Already present onpatch/v1.86.1; missing frompatch/v1.84.1andpatch/v1.85.1. Sibling PR for v1.84.1: #28973.Why this matters on the 1.85 line
The non_root builder stage installs
nodejsbut notnpm. Withoutnpmon PATH,prisma-pythonfalls back to downloading a Node runtime vianodeenvfrom nodejs.org, and the downloaded binary fails to loadlibatomic.so.1— breakingprisma generateand the non_root image build.Diff
docker/Dockerfile.non_root— 2+/1- (single apk add line). No version bump, no lockfile change.Conflict resolution
Cherry-pick applied cleanly with no conflicts.
Test plan