build: harden deps-stage npm ci against transient registry resets #86

Merged
janpeter merged 1 commit from claude/dockerfile-npm-ci-retry-hardening into main 2026-06-14 10:22:05 +02:00
Owner

Probleem

De update_ops_dashboard-deploy van 2026-06-14 08:05Z faalde (FlowRun cmqdi1hra3exa01o97kfzuy3j, stap docker_compose_build exit 1). Root cause uit de FlowStep-audit:

npm error code ECONNRESET
npm error network aborted
npm error network This is a problem related to network connectivity.

Een transiënte netwerk-reset richting de npm-registry, halverwege RUN npm ci in de deps-stage. Geen lockfile-/dependency-probleem: npm ci met de huidige manifests slaagt zowel op de host (glibc) als in exact node:22-alpine (musl). Alle eerdere flow-stappen (git_pull, submodule, prisma_migrate_deploy) waren groen.

Fix

Voeg fetch-retries toe aan de enige registry-download in de build (deps-stage npm ci), zodat een enkele ECONNRESET de hele deploy niet meer sloopt:

RUN npm ci --fetch-retries=5 --fetch-retry-mintimeout=20000 --fetch-retry-maxtimeout=120000

Verificatie

npm ci met deze flags getest in node:22-alpine → exit 0 (flags geaccepteerd, install slaagt). De builder-stage (npm run build / prisma generate) fetcht niet uit de registry, dus 1 plek volstaat.

🤖 Generated with Claude Code

## Probleem De `update_ops_dashboard`-deploy van 2026-06-14 08:05Z faalde (FlowRun `cmqdi1hra3exa01o97kfzuy3j`, stap `docker_compose_build` exit 1). Root cause uit de FlowStep-audit: ``` npm error code ECONNRESET npm error network aborted npm error network This is a problem related to network connectivity. ``` Een **transiënte netwerk-reset** richting de npm-registry, halverwege `RUN npm ci` in de deps-stage. Geen lockfile-/dependency-probleem: `npm ci` met de huidige manifests slaagt zowel op de host (glibc) als in exact `node:22-alpine` (musl). Alle eerdere flow-stappen (git_pull, submodule, prisma_migrate_deploy) waren groen. ## Fix Voeg fetch-retries toe aan de enige registry-download in de build (deps-stage `npm ci`), zodat een enkele `ECONNRESET` de hele deploy niet meer sloopt: ``` RUN npm ci --fetch-retries=5 --fetch-retry-mintimeout=20000 --fetch-retry-maxtimeout=120000 ``` ## Verificatie `npm ci` met deze flags getest in `node:22-alpine` → exit 0 (flags geaccepteerd, install slaagt). De builder-stage (`npm run build` / `prisma generate`) fetcht niet uit de registry, dus 1 plek volstaat. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Een transiënte ECONNRESET tijdens npm ci in de Docker-build deed de
update_ops_dashboard-deploy van 2026-06-14 falen (FlowRun cmqdi1hra…,
docker_compose_build exit 1) terwijl lockfile en manifests in sync zijn.
Voeg fetch-retries toe zodat een enkele netwerk-hik de hele deploy niet
meer sloopt.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
janpeter/Ops-dashboard!86
No description provided.