From 475a0f0badfc74468b9079d8fb37106d660d07ac Mon Sep 17 00:00:00 2001 From: Gustavo Ocanto Date: Tue, 2 Jun 2026 14:57:25 +0800 Subject: [PATCH] fix(release): use find instead of bash-4 globstar in artifact collection macOS GitHub runners ship bash 3.2, which lacks `globstar`, so the `shopt -s globstar` + `**` recursive globs in collect-release-artifacts.sh errored ('shopt: globstar: invalid shell option name') and failed the release before publishing. Replace the recursive globs with `find`, which works on bash 3.2. --- packages/ui/scripts/collect-release-artifacts.sh | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/ui/scripts/collect-release-artifacts.sh b/packages/ui/scripts/collect-release-artifacts.sh index 3a235e9c..769d4b8e 100755 --- a/packages/ui/scripts/collect-release-artifacts.sh +++ b/packages/ui/scripts/collect-release-artifacts.sh @@ -5,14 +5,15 @@ # # Run from the repo root. Usage: collect-release-artifacts.sh set -euo pipefail -shopt -s nullglob globstar version="${1:?usage: collect-release-artifacts.sh }" +# macOS GitHub runners ship bash 3.2, which lacks `globstar`. Use `find` instead +# of `**` so artifact discovery works regardless of the bash version. out="packages/ui/out/make" -dmgs=("$out"/**/*.dmg) -zips=("$out"/**/*.zip) -if [ "${#dmgs[@]}" -eq 0 ] || [ "${#zips[@]}" -eq 0 ]; then +src_dmg="$(find "$out" -type f -name '*.dmg' | head -n1)" +src_zip="$(find "$out" -type f -name '*.zip' | head -n1)" +if [ -z "$src_dmg" ] || [ -z "$src_zip" ]; then echo "Missing Forge artifacts under $out" find "$out" -type f || true exit 1 @@ -21,8 +22,8 @@ fi mkdir -p dist-release dmg="git-diff-review-${version}-arm64.dmg" zip="git-diff-review-${version}-arm64.zip" -cp "${dmgs[0]}" "dist-release/${dmg}" -cp "${zips[0]}" "dist-release/${zip}" +cp "$src_dmg" "dist-release/${dmg}" +cp "$src_zip" "dist-release/${zip}" cd dist-release shasum -a 256 "$dmg" "$zip" > SHASUMS256.txt