Pin the macOS desktop legs on the same pre-7547 release lag

The Linux rows already pin the shipped bundle's own install.sh exiting 2 at the
NEED_SUDO handshake. macos-15 and macos-26 fail the same way for the same reason:
desktop-v0.1.50-beta predates #7547, so the bundled installer still hard-exits on
the Xcode CLT gate that #7547 turned into a warning.

Accept exit 1 plus that exact gate line, and nothing else. _check_macos_deps is
the function #7547 added, so its presence in the bundle means the release caught
up and the block errors out asking for the pin to be deleted.
This commit is contained in:
Daniel Han 2026-07-29 03:19:21 +00:00
commit c6a1174e67

View file

@ -185,9 +185,30 @@ jobs:
# passes without ever running the bundled installer. Invoke it as
# src-tauri/src/install.rs does: --tauri, stdin closed, no tty. --tauri
# rejects a custom studio home (install.sh:102-114), so drop the override.
# KNOWN OUTCOME PIN, retire when the desktop release catches up to #7547.
# REL_TAG predates #7547, so the bundle's own install.sh still hard-exits on
# the Xcode CLT gate that #7547 replaced with a warning. No change to this PR
# can move that; only a new release can. _check_macos_deps is the function
# #7547 added, so finding it means the release caught up and this pin must go.
SH="$APP/Contents/Resources/install.sh"
if grep -q '_check_macos_deps' "$SH"; then
echo "::error::the bundled install.sh now carries #7547; delete this pin block and let the venv + torch assertions below run unconditionally"
exit 1
fi
rc=0
env -u UNSLOTH_STUDIO_HOME \
bash "$APP/Contents/Resources/install.sh" --tauri \
< /dev/null 2>&1 | tee logs/bundled-install.log
bash "$SH" --tauri \
< /dev/null 2>&1 | tee logs/bundled-install.log || rc=$?
echo "bundled installer exit code: $rc"
# Exit code AND the exact gate line, so any other non-zero exit still fails.
if [ "$rc" -eq 1 ] && grep -qE '^==> Xcode Command Line Tools are required\.[[:space:]]*$' logs/bundled-install.log; then
echo "::notice::known pre-#7547 outcome: the shipped bundle's install.sh stopped on the Xcode CLT gate and exited 1. Not a regression here; the next desktop release retires this pin."
exit 0
fi
[ "$rc" -eq 0 ] || {
echo "::error::bundled installer exited $rc, which is neither success nor the pinned pre-#7547 outcome (exit 1 plus '==> Xcode Command Line Tools are required.')"
exit 1
}
PY="$HOME/.unsloth/studio/unsloth_studio/bin/python"
[ -x "$PY" ] || { echo "::error::bundled installer left no venv at $PY"; exit 1; }
"$PY" -V