Improve db readiness and build args parsing
This commit is contained in:
20
.github/workflows/docker-build-publish.yml
vendored
20
.github/workflows/docker-build-publish.yml
vendored
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user