You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm facing the same issue, I instead passed -F my-flag to xtra_args (this creates a weird blank tag, don't do that) use flag names with _ instead of periods or hyphens. The issue happens with this piece of code: eval e="\$$flag", e.g.:
flag="my-flag"
eval e="\$$flag"
echo $e
-flag
mblayman
added a commit
to mblayman/codecov-circleci-orb
that referenced
this issue
Feb 21, 2024
This change adds a guard to a flag to ensure that the `eval` will produce a value. Without this change, a flag like `my-flag` will go through the `eval` as `$my-flag`. Since bash doesn't permit dashes in variable names, the resulting value will be `-flag`. Because this is a non-zero length, the first iteration through the for loop on `${e}` will set in `FLAGS`, then break out. This leads to the improper result of FLAGS having `-flag` instead of the desired value of `my-flag`.
By testing that flag will produce a value before trying `eval`, we can be sure that the first loop iteration will proceed and allow the processing of the second iteration on `${flag}` (which will correctly capture `my-flag` in our example).
${!flag+x} is used for indirect variable expansion. If flag contains the name of a variable, ${!flag} will expand to the value of that variable. The +x part ensures that the expression evaluates to true if the variable exists, even if it's empty.
This fixescodecov#175.
See: #174
Two different errors happen for flags with
.
and-
in the name.For
-
:For
.
: the flag name before the.
just disappearsThe text was updated successfully, but these errors were encountered: