unsloth/studio
Daniel Han 779cc6cb49 CI(studio): always-upload artifacts + gate /api/system + path/health plumbing
Three small but high-signal changes that came out of an audit of how
much Studio surface CI actually exercises:

  1. Every studio-*-smoke.yml workflow now uploads its artifacts on
     `if: always()` instead of `if: failure()`. On green runs the
     screenshots + studio.log are now reviewable in the Actions UI,
     which closes the "passed but the UI is silently broken" hole.
     SHA-pinned to actions/upload-artifact@v4.6.2 across all 7 upload
     steps (was a mix of @v4 unpinned + the SHA-pin).

  2. /api/system and /api/system/hardware now require a Bearer token
     (Depends(get_current_subject)). Today they leak Python version,
     GPU name, total memory, and the ML package set without auth --
     fine on a single-user Tauri box, not fine on -H 0.0.0.0 / Colab
     / a Tauri-relayed setup. /api/system/gpu-visibility was already
     gated; now /api/system + /api/system/hardware match it.

  3. Path filters + health-wait plumbing:
     - studio-ui-smoke.yml now triggers on tests/studio/** so a PR
       that ONLY edits the Playwright test file actually runs UI CI.
     - studio-tauri-smoke.yml now triggers on unsloth_cli/** so a CLI
       rename or signature change that breaks Tauri's spawned
       `unsloth studio` actually runs Tauri CI.
     - The 60s `/api/health` wait loop in studio-ui-smoke.yml +
       studio-inference-smoke.yml (3 jobs) is now 180s. Cold runners
       with venv warm-up + lazy imports have been observed exceeding
       60s, and the cost of a false-fail is much higher than two
       extra minutes of waiting.
2026-05-07 04:09:09 +00:00
..
backend CI(studio): always-upload artifacts + gate /api/system + path/health plumbing 2026-05-07 04:09:09 +00:00
frontend feat(studio): add Continued Pretraining (CPT) as a training method (#4677) 2026-05-06 13:38:35 +04:00
src-tauri install: support STUDIO_HOME / UNSLOTH_STUDIO_HOME for custom install paths (#5190) 2026-05-05 23:17:40 -07:00
__init__.py Final cleanup 2026-03-12 18:28:04 +00:00
install_llama_prebuilt.py Fix/windowsprebuilt (#5241) 2026-05-02 09:42:19 +04:00
install_python_stack.py Add native GGUF intake to Studio (#5246) 2026-05-04 11:46:18 +02:00
LICENSE.AGPL-3.0 Add AGPL-3.0 license to studio folder 2026-03-09 19:36:25 +00:00
setup.bat Final cleanup 2026-03-12 18:28:04 +00:00
setup.ps1 install: support STUDIO_HOME / UNSLOTH_STUDIO_HOME for custom install paths (#5190) 2026-05-05 23:17:40 -07:00
setup.sh Route CPU-only Linux x86_64 to ggml-org/llama.cpp prebuilts (#5302) 2026-05-05 23:22:22 -07:00
Unsloth_Studio_Colab.ipynb studio: add --local to setup.sh + overlay unsloth-zoo from git main (#5252) 2026-05-02 08:51:56 +04:00