unsloth/.github/workflows
Daniel Han d35bf6ac8e ci(mac): retry Playwright JSON crash + GGUF detect retry + MLX is_gguf guard
Two distinct Mac UI Chat failures captured in PR 5312's CI:

1. /api/inference/load 500 with FileNotFoundError on config.json for
   unsloth/gemma-3-270m-it-GGUF (a GGUF-only repo). Run 25487410091.
   Root cause: detect_gguf_model_remote in
   studio/backend/utils/models/model_config.py had a single
   hf_model_info call with no retry. On a transient HF Hub flake
   it returned None silently, the route at routes/inference.py:592
   treated the repo as non-GGUF, and dispatched to the MLX
   orchestrator. The orchestrator's _build_model_config re-ran
   from_identifier in the subprocess (this time succeeding,
   logging "Detected remote GGUF") but then handed an is_gguf=True
   ModelConfig to MLXInferenceBackend.load_model, which ignored
   is_gguf and called FastMLXModel.from_pretrained →
   mlx_lm.utils.load_model → opened a non-existent config.json on
   the GGUF-only repo. Fix:
     a) detect_gguf_model_remote retries up to 3 times with 1/2/4s
        backoff, bypassing retry on RepositoryNotFoundError /
        GatedRepoError / RevisionNotFoundError / EntryNotFoundError
        (those are permanent).
     b) MLXInferenceBackend.load_model now raises a clear
        RuntimeError if config.is_gguf=True, instead of letting
        mlx_lm surface a cryptic 'config.json does not exist'.

2. Playwright pipeTransport.js 'Unexpected end of JSON input' on
   macos-14 free runners. Runs 25489049059 + 25489429306. Chromium
   browser process dies mid-test → driver Node process can't parse
   the truncated JSON-RPC line and exits. Hits ~50% of runs (well
   above acceptable flake). Fix: retry the chat-UI step up to 3
   times, FULLY resetting Studio (kill, reset-password, reboot,
   /api/health wait, re-export STUDIO_OLD/NEW/NEW2_PW) between
   attempts so the change-password flow finds a fresh bootstrap on
   each retry. Same retry shape on the extra-UI step. Real
   assertion / timeout failures don't match the JSON-input pattern
   so they bypass retry and surface immediately. Updated the
   install-step comment to drop the now-incorrect '1.55-1.57 ship a
   Node 22 driver' claim — all 1.55-1.58 Mac drivers are Node 24,
   the racy crash is in pipeTransport itself.
2026-05-07 10:17:21 +00:00
..
consolidated-tests-ci.yml CI(Core): expand KNOWN_BROKEN_COMPILE with 7 latest-transformers failures 2026-05-07 09:17:47 +00:00
lint-ci.yml CI: SHA-pin every action; fix 4 bugs in advisory-audit 2026-05-07 01:12:40 +00:00
mlx-ci.yml ci(mac): make Mac smoke tests robust to Metal output drift 2026-05-07 05:38:17 +00:00
release-desktop.yml Fix Studio desktop tray installer and titlebar and bux fixes (#5179) 2026-04-30 08:40:39 -07:00
security-audit.yml CI: SHA-pin every action; fix 4 bugs in advisory-audit 2026-05-07 01:12:40 +00:00
stale.yml CI: SHA-pin every action; fix 4 bugs in advisory-audit 2026-05-07 01:12:40 +00:00
studio-api-smoke.yml CI(studio): fix 4 real failures surfaced by the new smoke jobs 2026-05-07 04:20:11 +00:00
studio-backend-ci.yml CI: SHA-pin every action; fix 4 bugs in advisory-audit 2026-05-07 01:12:40 +00:00
studio-frontend-ci.yml CI(studio): always-upload artifacts + gate /api/system + path/health plumbing 2026-05-07 04:09:09 +00:00
studio-inference-smoke.yml CI(studio): always-upload artifacts + gate /api/system + path/health plumbing 2026-05-07 04:09:09 +00:00
studio-mac-api-smoke.yml ci(mac): add Mac Studio API/UI/GGUF CI workflows 2026-05-07 05:14:51 +00:00
studio-mac-inference-smoke.yml ci(mac): trim max_tokens + timeouts so tool-calling/json fit in 25min 2026-05-07 08:59:32 +00:00
studio-mac-ui-smoke.yml ci(mac): retry Playwright JSON crash + GGUF detect retry + MLX is_gguf guard 2026-05-07 10:17:21 +00:00
studio-mac-update-smoke.yml ci(mac): add Mac Studio Update CI 2026-05-07 05:08:43 +00:00
studio-tauri-smoke.yml CI(studio): always-upload artifacts + gate /api/system + path/health plumbing 2026-05-07 04:09:09 +00:00
studio-ui-smoke.yml CI(ui): add second Playwright job covering Compare/Recipes/Export/Studio/Settings 2026-05-07 04:09:09 +00:00
studio-update-smoke.yml CI(update-smoke): drop cache: 'pip' to avoid fatal post-step 2026-05-07 07:38:26 +00:00
studio-windows-api-smoke.yml CI(windows): force UTF-8 stdio so hf download / Studio CLI don't crash on Windows 2026-05-07 10:07:22 +00:00
studio-windows-inference-smoke.yml CI(windows): force UTF-8 stdio so hf download / Studio CLI don't crash on Windows 2026-05-07 10:07:22 +00:00
studio-windows-ui-smoke.yml CI(windows): force UTF-8 stdio so hf download / Studio CLI don't crash on Windows 2026-05-07 10:07:22 +00:00
studio-windows-update-smoke.yml CI(windows): force UTF-8 stdio so hf download / Studio CLI don't crash on Windows 2026-05-07 10:07:22 +00:00
wheel-smoke.yml CI: SHA-pin every action; fix 4 bugs in advisory-audit 2026-05-07 01:12:40 +00:00