🐛 fix(ci): la guardia Dockerfile ignora le variabili assegnate nel RUN
- in un RUN espande la shell: una variabile assegnata nel comando stesso
(VERSIONE="$(...)" && ... ${VERSIONE}) non è la ARG omonima. Era un falso
avviso su algorithmic-trading, venues/ibkr-gateway/Dockerfile:143
- COPY, LABEL e le altre istruzioni espanse da Docker restano controllate
- collaudo con gawk e gawk --posix: algorithmic-trading 0 avvisi,
pzeta-king prima della correzione 2, scada-runtime su main 10, Dockerfile
sintetici con gli esiti attesi; bash -n sullo step estratto dallo YAML
Fixes #13 @25m
refs PZeta_Touch/flux-repo#133
This commit is contained in:
@@ -118,6 +118,9 @@ jobs:
|
||||
while (match(s, /[$][{]?[A-Za-z_][A-Za-z0-9_]*/)) {
|
||||
v = substr(s, RSTART, RLENGTH); sub(/^[$][{]?/, "", v)
|
||||
s = substr(s, RSTART + RLENGTH)
|
||||
# In un RUN espande la shell: una variabile assegnata nel comando
|
||||
# stesso (VERSIONE="$(...)" && ... ${VERSIONE}) non va scambiata per la ARG.
|
||||
if (kw == "RUN" && match(rest, "(^|[^A-Za-z0-9_$])" v "=")) continue
|
||||
if ((v in allargs) && !(v in scope) && !(v in predefined) && !((ln, v) in seen)) {
|
||||
seen[ln, v] = 1
|
||||
printf "%d\t%s\t%s\n", ln, v, stage
|
||||
|
||||
@@ -197,6 +197,9 @@ jobs:
|
||||
while (match(s, /[$][{]?[A-Za-z_][A-Za-z0-9_]*/)) {
|
||||
v = substr(s, RSTART, RLENGTH); sub(/^[$][{]?/, "", v)
|
||||
s = substr(s, RSTART + RLENGTH)
|
||||
# In un RUN espande la shell: una variabile assegnata nel comando
|
||||
# stesso (VERSIONE="$(...)" && ... ${VERSIONE}) non va scambiata per la ARG.
|
||||
if (kw == "RUN" && match(rest, "(^|[^A-Za-z0-9_$])" v "=")) continue
|
||||
if ((v in allargs) && !(v in scope) && !(v in predefined) && !((ln, v) in seen)) {
|
||||
seen[ln, v] = 1
|
||||
printf "%d\t%s\t%s\n", ln, v, stage
|
||||
|
||||
Reference in New Issue
Block a user