Improve db readiness and build args parsing

This commit is contained in:
estebanthi
2026-01-05 11:47:40 +01:00
parent bfd6822394
commit 133731d493
2 changed files with 31 additions and 12 deletions

View File

@@ -18,6 +18,8 @@ on:
required: false
type: string
default: ""
description: >
Multiline build args, one per line: KEY=VALUE (values may include spaces)
env:
description: >
@@ -121,17 +123,21 @@ jobs:
BUILD_ARG_FLAGS=()
BUILD_ARGS_JSON="{}"
if [ -n "$BUILD_ARGS" ]; then
for arg in $BUILD_ARGS; do
if [[ "$arg" != *=* ]]; then
echo "Invalid build arg: $arg" >&2
while IFS= read -r line; do
trimmed="${line#"${line%%[![:space:]]*}"}"
trimmed="${trimmed%"${trimmed##*[![:space:]]}"}"
[ -z "$trimmed" ] && continue
case "$trimmed" in \#*) continue;; esac
if [[ "$trimmed" != *=* ]]; then
echo "Invalid build arg: $trimmed" >&2
exit 1
fi
BUILD_ARG_FLAGS+=(--build-arg "$arg")
BUILD_ARG_FLAGS+=(--build-arg "$trimmed")
key="${arg%%=*}"
val="${arg#*=}"
key="${trimmed%%=*}"
val="${trimmed#*=}"
BUILD_ARGS_JSON=$(jq --arg k "$key" --arg v "$val" '. + {($k): $v}' <<<"$BUILD_ARGS_JSON")
done
done <<< "$BUILD_ARGS"
fi
while read -r group; do