fix(release): use bash 3.2-compatible array build for macOS upload

`mapfile` is bash 4+, but macOS GitHub runners ship bash 3.2, so the
upload step exited 127 on both arm64 and x64 jobs. Replaced with a
portable while-read loop.
This commit is contained in:
Mohamed Boudra
2026-04-29 20:24:44 +07:00
parent 3f1c841570
commit a1db839306

View File

@@ -177,7 +177,10 @@ jobs:
run: | run: |
set -euo pipefail set -euo pipefail
release_dir="${DESKTOP_PACKAGE_PATH}/release" release_dir="${DESKTOP_PACKAGE_PATH}/release"
mapfile -d '' files < <(find "$release_dir" -maxdepth 1 -type f ! -name '*.yml' -print0 | sort -z) files=()
while IFS= read -r -d '' f; do
files+=("$f")
done < <(find "$release_dir" -maxdepth 1 -type f ! -name '*.yml' -print0 | sort -z)
if (( ${#files[@]} == 0 )); then if (( ${#files[@]} == 0 )); then
echo "::error::No release artifacts found in $release_dir" echo "::error::No release artifacts found in $release_dir"
exit 1 exit 1
@@ -267,7 +270,10 @@ jobs:
run: | run: |
set -euo pipefail set -euo pipefail
release_dir="${DESKTOP_PACKAGE_PATH}/release" release_dir="${DESKTOP_PACKAGE_PATH}/release"
mapfile -d '' files < <(find "$release_dir" -maxdepth 1 -type f ! -name '*.yml' -print0 | sort -z) files=()
while IFS= read -r -d '' f; do
files+=("$f")
done < <(find "$release_dir" -maxdepth 1 -type f ! -name '*.yml' -print0 | sort -z)
if (( ${#files[@]} == 0 )); then if (( ${#files[@]} == 0 )); then
echo "::error::No release artifacts found in $release_dir" echo "::error::No release artifacts found in $release_dir"
exit 1 exit 1
@@ -362,7 +368,10 @@ jobs:
run: | run: |
set -euo pipefail set -euo pipefail
release_dir="${DESKTOP_PACKAGE_PATH}/release" release_dir="${DESKTOP_PACKAGE_PATH}/release"
mapfile -d '' files < <(find "$release_dir" -maxdepth 1 -type f ! -name '*.yml' -print0 | sort -z) files=()
while IFS= read -r -d '' f; do
files+=("$f")
done < <(find "$release_dir" -maxdepth 1 -type f ! -name '*.yml' -print0 | sort -z)
if (( ${#files[@]} == 0 )); then if (( ${#files[@]} == 0 )); then
echo "::error::No release artifacts found in $release_dir" echo "::error::No release artifacts found in $release_dir"
exit 1 exit 1