quality-gates: avviso sui Dockerfile con registry @pzeta in minuscolo o ARG usate fuori dallo stage #9

Closed
opened 2026-09-11 19:21:12 +00:00 by LucaZanni · 0 comments
Owner

Parte della prima tappa di PZeta_Touch/flux-repo#133.

Il difetto

Due errori nei Dockerfile hanno rotto per due mesi le release di node-xmlvalidation senza che nessuno se ne accorgesse (PZeta_Touch/flux-repo#129):

  • (a) l'.npmrc generato dal Dockerfile scrive il registry …/api/packages/pzeta_touch/npm/, mentre tutti i lockfile risolvono su PZeta_Touch. npm confronta gli URL come stringhe, e da npm 12 un URL scritto diverso viene rifiutato (EALLOWREMOTE);
  • (b) una ARG usata in uno stage che non la dichiara arriva vuota: npm install -g npm@${NPM_VERSION} diventa npm install -g npm@ e installa l'ultima npm, cioè la 12, ignorando il pin.

Il quality gate non lo vede, perché qui l'immagine non si costruisce: la release fallisce solo al tag.

Cosa si aggiunge

Uno step in quality-gates.yml che scansiona i Dockerfile del repository e segnala entrambi i difetti con ::warning file=…,line=… e una tabella nel job summary.

Solo avviso (continue-on-error: true, uscita sempre 0): oggi ~46 repository hanno il registry in minuscolo e funzionano solo perché pinnano npm 11. Renderlo bloccante adesso li farebbe diventare rossi tutti insieme. Diventa bloccante con la tappa 2 di flux-repo#133, dopo la correzione in blocco.

Parte della prima tappa di PZeta_Touch/flux-repo#133. ## Il difetto Due errori nei Dockerfile hanno rotto per due mesi le release di `node-xmlvalidation` senza che nessuno se ne accorgesse (PZeta_Touch/flux-repo#129): - **(a)** l'`.npmrc` generato dal Dockerfile scrive il registry `…/api/packages/pzeta_touch/npm/`, mentre tutti i lockfile risolvono su `PZeta_Touch`. npm confronta gli URL come stringhe, e da npm 12 un URL scritto diverso viene rifiutato (`EALLOWREMOTE`); - **(b)** una `ARG` usata in uno stage che non la dichiara arriva vuota: `npm install -g npm@${NPM_VERSION}` diventa `npm install -g npm@` e installa l'ultima npm, cioè la 12, ignorando il pin. Il quality gate non lo vede, perché qui l'immagine non si costruisce: la release fallisce solo al tag. ## Cosa si aggiunge Uno step in `quality-gates.yml` che scansiona i Dockerfile del repository e segnala entrambi i difetti con `::warning file=…,line=…` e una tabella nel job summary. **Solo avviso** (`continue-on-error: true`, uscita sempre 0): oggi ~46 repository hanno il registry in minuscolo e funzionano solo perché pinnano npm 11. Renderlo bloccante adesso li farebbe diventare rossi tutti insieme. Diventa bloccante con la tappa 2 di flux-repo#133, dopo la correzione in blocco.
LucaZanni added spent time 1 hour 30 minutes 2026-09-11 19:21:32 +00:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Total Time Spent: 1 hour 30 minutes
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: devops/shared-actions#9