Make the interrupted-install legs able to fail
The probe treated a present .desktop-install-in-progress marker as proof of a repairable state, but the drivers seed it unconditionally and never clear it, so REPAIRABLE was unconditional and FALSE_READY unreachable. The Windows leg had no kill-landed guard, blanket continue-on-error, and no repair re-run; -SkipTorch was silently dropped, since install.ps1 parses only --no-torch. Judge the re-run by whether the backend boots, on both platforms. The log grep matched the frontend build printing "up to date" and failed a leg whose venv was fine.
This commit is contained in:
parent
958052e44f
commit
fe846fb43d
2 changed files with 81 additions and 18 deletions
7
.github/scripts/interrupted_install_probe.py
vendored
7
.github/scripts/interrupted_install_probe.py
vendored
|
|
@ -118,7 +118,11 @@ def main(argv: list[str]) -> int:
|
|||
(out / f"{label}.log").write_text(log, encoding = "utf-8", errors = "replace")
|
||||
say(label, "ok" if rc == 0 else "failed")
|
||||
|
||||
# The in-progress marker #7490 writes before spawning the installer.
|
||||
# The in-progress marker #7490 writes before spawning the installer. RECORDED ONLY,
|
||||
# never used as repair evidence: both interrupt drivers seed it before every install
|
||||
# and deliberately never clear it, so it is true on every leg by construction. Using
|
||||
# it in the verdict below would make REPAIRABLE unconditional and FALSE_READY -- the
|
||||
# single outcome this workflow exists to catch -- unreachable.
|
||||
home = Path(os.environ.get("UNSLOTH_STUDIO_HOME") or (Path.home() / ".unsloth" / "studio"))
|
||||
say("install_in_progress_marker", (home / ".desktop-install-in-progress").exists())
|
||||
|
||||
|
|
@ -198,7 +202,6 @@ def main(argv: list[str]) -> int:
|
|||
facts.get("verify_install") == "failed"
|
||||
or facts.get("desktop_runtime_check") == "failed"
|
||||
or facts.get("capabilities.studio_install_ok") is False
|
||||
or facts.get("install_in_progress_marker") is True
|
||||
or not facts.get("cli_h_ok")
|
||||
or not facts.get("capabilities_ok")
|
||||
):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue