unsloth/.github/workflows
Wasim Yousef Said 0a54d001ec
Harden Tauri release flow (#5341)
* Harden Tauri backend preflight and startup

Require managed Studio root IDs to match before attaching to existing backends, close the concurrent backend-start window, and tighten frontend Tauri detection to Tauri-specific signals.

* Add Tauri backend manageability guards

Gate desktop backend compatibility on explicit manageability fields, add external-conflict handling for unsafe backend states, and protect update/repair paths from mutating active non-owned Studio backends. Track Tauri-owned backends with local owner metadata for verified orphan cleanup only.

* Split Tauri preflight probes into modules

Move preflight types, version checks, managed install probing, and backend probing into focused submodules while preserving behavior and keeping implementation files under the release-readiness size target.

* Use desktop-specific Tauri updater channel

Point the desktop updater at a same-repo desktop-latest manifest and publish that channel from non-draft desktop releases after validating the Tauri-generated latest.json.

* Add Linux desktop update policy

* Add owned backend lifecycle guards

* Adopt verified desktop-owned backends

* Validate desktop backend readiness

* Trim Tauri release hardening code

* Require desktop backend 2026.5.3

* Handle desktop backend edge cases

* Fail stalled desktop backend startup

* Fix desktop update edge cases

* Avoid secret-gating adopted watchdog

* Fix desktop update comparison guards

* Automate desktop release versioning

* Serialize desktop release workflow

* tests: follow preflight.rs split into preflight/{backend,managed,types,version}.rs

PR #5341 splits studio/src-tauri/src/preflight.rs into a directory of
submodules. The cmd.env_remove("UNSLOTH_STUDIO_HOME") + STUDIO_HOME
calls now live in preflight/managed.rs instead of preflight.rs, so
test_tauri_preflight_scrubs_studio_home_env counted zero matches in
the old single-file location and failed with "assert 0 >= 2".

Read whichever shape is on disk: preflight.rs at the old path plus
every *.rs under preflight/ (current PR has 2 occurrences in
preflight/managed.rs). The guard intent is unchanged: at least 2
env_remove calls covering run_cli_probe and probe_cli_capability,
plus the single commands.rs scrub in check_install_status. Verified
locally: pytest tests/test_studio_install_workspace_guard.py::test_tauri_preflight_scrubs_studio_home_env passes.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Avoid browser Tauri hostname detection

* Restore shutdown flag after failed stop

---------

Co-authored-by: Daniel Han <danielhanchen@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-05-12 20:30:20 -07:00
..
consolidated-tests-ci.yml ci: retry transient github.com 5xx on unsloth-zoo git fetches in CI (#5389) 2026-05-11 18:57:20 -07:00
lint-ci.yml CI: scope GITHUB_TOKEN permissions, add MLX CI, unblock ~60 skipped tests (#5312) 2026-05-11 03:19:13 -07:00
mlx-ci.yml ci: retry transient github.com 5xx on unsloth-zoo git fetches in CI (#5389) 2026-05-11 18:57:20 -07:00
notebooks-ci.yml CI: scope GITHUB_TOKEN permissions, add MLX CI, unblock ~60 skipped tests (#5312) 2026-05-11 03:19:13 -07:00
release-desktop.yml Harden Tauri release flow (#5341) 2026-05-12 20:30:20 -07:00
security-audit.yml studio/ci: npm tarball content scanner (no-install, hostile-input safe) (#5393) 2026-05-11 20:37:05 -07:00
stale.yml CI: scope GITHUB_TOKEN permissions, add MLX CI, unblock ~60 skipped tests (#5312) 2026-05-11 03:19:13 -07:00
studio-api-smoke.yml studio/ci: sweep actions/cache v5 hardening across sibling smoke workflows (#5399) 2026-05-12 05:47:41 -07:00
studio-backend-ci.yml CI: scope GITHUB_TOKEN permissions, add MLX CI, unblock ~60 skipped tests (#5312) 2026-05-11 03:19:13 -07:00
studio-frontend-ci.yml studio/ci: pre-install lockfile supply-chain audit (npm + cargo) (#5392) 2026-05-11 20:36:52 -07:00
studio-inference-smoke.yml studio/ci: sweep actions/cache v5 hardening across sibling smoke workflows (#5399) 2026-05-12 05:47:41 -07:00
studio-mac-api-smoke.yml studio/ci: sweep actions/cache v5 hardening across sibling smoke workflows (#5399) 2026-05-12 05:47:41 -07:00
studio-mac-inference-smoke.yml studio/ci: sweep actions/cache v5 hardening across sibling smoke workflows (#5399) 2026-05-12 05:47:41 -07:00
studio-mac-ui-smoke.yml studio/ci: sweep actions/cache v5 hardening across sibling smoke workflows (#5399) 2026-05-12 05:47:41 -07:00
studio-mac-update-smoke.yml CI: scope GITHUB_TOKEN permissions, add MLX CI, unblock ~60 skipped tests (#5312) 2026-05-11 03:19:13 -07:00
studio-tauri-smoke.yml studio/ci: pre-install lockfile supply-chain audit (npm + cargo) (#5392) 2026-05-11 20:36:52 -07:00
studio-ui-smoke.yml studio/ci: sweep actions/cache v5 hardening across sibling smoke workflows (#5399) 2026-05-12 05:47:41 -07:00
studio-update-smoke.yml CI: scope GITHUB_TOKEN permissions, add MLX CI, unblock ~60 skipped tests (#5312) 2026-05-11 03:19:13 -07:00
studio-windows-api-smoke.yml studio/ci: sweep actions/cache v5 hardening across sibling smoke workflows (#5399) 2026-05-12 05:47:41 -07:00
studio-windows-inference-smoke.yml studio/ci: harden HF_HOME cache against actions/cache v5 silent restore failures (#5396) 2026-05-12 05:47:44 -07:00
studio-windows-ui-smoke.yml studio/ci: sweep actions/cache v5 hardening across sibling smoke workflows (#5399) 2026-05-12 05:47:41 -07:00
studio-windows-update-smoke.yml CI: scope GITHUB_TOKEN permissions, add MLX CI, unblock ~60 skipped tests (#5312) 2026-05-11 03:19:13 -07:00
version-compat-ci.yml ci: retry transient github.com 5xx on unsloth-zoo git fetches in CI (#5389) 2026-05-11 18:57:20 -07:00
wheel-smoke.yml studio/ci: pre-install lockfile supply-chain audit (npm + cargo) (#5392) 2026-05-11 20:36:52 -07:00