diff --git a/.github/workflows/onpush_builder.yaml b/.github/workflows/onpush_builder.yaml index db4299817..46d139694 100644 --- a/.github/workflows/onpush_builder.yaml +++ b/.github/workflows/onpush_builder.yaml @@ -181,8 +181,13 @@ jobs: build_from=$(jq -r ".build_from.\"$ARCH\" // \"\"" "build.$ext") build_archs=$(jq -c '.build_from | keys' "build.$ext") else - build_from=$(sed -n "/^build_from:/,/^[^ ]/p" "build.$ext" | grep -E "^[[:space:]]+${ARCH}:" | sed "s/^[[:space:]]*${ARCH}:[[:space:]]*//" | tr -d "\"'") - build_archs=$(sed -n '/^build_from:/,/^[^ ]/p' "build.$ext" | grep '^ ' | sed 's/:.*//' | tr -d ' ' | jq -R -s -c 'split("\n") | map(select(length > 0))') + build_block=$(awk ' + /^build_from:/ { inblock=1; next } + /^[^[:space:]]/ { if (inblock) exit } + inblock && /^[[:space:]]/ { print } + ' "build.$ext") + build_from=$(printf '%s\n' "$build_block" | grep -E "^[[:space:]]*${ARCH}:" | sed "s/^[[:space:]]*${ARCH}:[[:space:]]*//" | tr -d "\"'") + build_archs=$(printf '%s\n' "$build_block" | sed 's/^[[:space:]]*//; s/:.*//' | jq -R -s -c 'split("\n") | map(select(length > 0))') fi break fi