From a1db839306e91d45d4653e50f6b32dd4cfb3464e Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Wed, 29 Apr 2026 20:24:44 +0700 Subject: [PATCH] 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. --- .github/workflows/desktop-release.yml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/.github/workflows/desktop-release.yml b/.github/workflows/desktop-release.yml index 54b09feb1..38a82462d 100644 --- a/.github/workflows/desktop-release.yml +++ b/.github/workflows/desktop-release.yml @@ -177,7 +177,10 @@ jobs: run: | set -euo pipefail 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 echo "::error::No release artifacts found in $release_dir" exit 1 @@ -267,7 +270,10 @@ jobs: run: | set -euo pipefail 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 echo "::error::No release artifacts found in $release_dir" exit 1 @@ -362,7 +368,10 @@ jobs: run: | set -euo pipefail 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 echo "::error::No release artifacts found in $release_dir" exit 1