ci: unblock Studio Windows + Linux + Mac smoke (#5741)
Bundles three independent CI regressions hitting the maintainer PR backlog. Each one is verified end-to-end on a staging fork against real Ubuntu / macOS / Windows GitHub-hosted runners before this lands. 1. Windows --no-torch install: pydantic + pydantic-core drift to incompatible versions under `uv pip install --no-deps -r no-torch-runtime.txt` because pip resolves each independently from latest. pydantic.VERSION 2.13.4 pins pydantic-core==2.46.4 but pydantic-core 2.47.0 was the freshest published wheel, so `import pydantic` raised `SystemError: pydantic-core 2.47.0 is incompatible with the current pydantic version`. Resolve pydantic WITH deps in a focused pip call (install.sh, install.ps1, install_python_stack.py) before the --no-deps no-torch-runtime pass so pip pins pydantic-core to the version pydantic declares. pydantic's transitive deps (annotated-types, pydantic-core, typing-extensions, typing-inspection) are torch-free. Drop the redundant `Patch Studio venv with full typer / pydantic dep trees` workaround from the four Windows smoke YAMLs. Supersedes #5733 + #5734. 2. Linux Studio Update CI: upstream llama.cpp b9261+ split each binary's entry code into a paired `libllama-<binary>-impl.so` shared library. `llama-server` and `llama-quantize` NEEDED-link against `libllama-server-impl.so` / `libllama-quantize-impl.so` with RUNPATH `$ORIGIN`, so the prebuilt overlay must copy those alongside the binaries. Without that, ldd reports them missing, preflight rejects, the installer falls back to source build, and studio-update-smoke annotates `setup.sh idempotency regressed`. Add `libllama-*-impl.so*` to the Linux runtime patterns and lock the pattern in test_rocm_support.TestRuntimePatterns. 3. Mac Studio UI Chat: change-password submit clicked while disabled. The disable gate only checked new + confirm password length, but Playwright's first click landed before the current-password field's React state had committed, so the form was simultaneously logically-invalid (current_password empty) and the button was disabled. Tighten the gate to require `currentPassword.length >= 8` and mirror the same check in the submit handler so Enter / autofill cannot bypass. Supersedes #5738.
This commit is contained in:
parent
382683ebdc
commit
83b20976f7
11 changed files with 94 additions and 107 deletions
|
|
@ -979,6 +979,27 @@ def install_python_stack() -> int:
|
|||
package_name,
|
||||
"unsloth-zoo",
|
||||
)
|
||||
# Pydantic ships its core as a separate compiled wheel
|
||||
# (pydantic-core), and pydantic's ``_ensure_pydantic_core_version``
|
||||
# checks the installed core matches the exact version pinned in
|
||||
# its own metadata. With ``--no-deps`` plus an unpinned
|
||||
# ``pydantic`` / ``pydantic-core`` pair in no-torch-runtime.txt,
|
||||
# pip resolved each to the newest available version and the two
|
||||
# drifted (pydantic 2.13.4 pins pydantic-core==2.46.4 today, but
|
||||
# pydantic-core 2.47.0 was the latest). On a fresh Windows venv
|
||||
# the next ``import pydantic`` raised ``SystemError: ...
|
||||
# incompatible with the current pydantic version``.
|
||||
#
|
||||
# Resolve them WITH deps in a focused pip call so pip picks a
|
||||
# compatible pair. pydantic's own deps are
|
||||
# ``annotated-types``, ``pydantic-core``, ``typing-extensions``,
|
||||
# ``typing-inspection`` -- none of which transitively pull
|
||||
# torch, so this is safe for the no-torch path.
|
||||
pip_install(
|
||||
"Installing pydantic (with deps for compatible core)",
|
||||
"--no-cache-dir",
|
||||
"pydantic",
|
||||
)
|
||||
pip_install(
|
||||
"Installing no-torch runtime deps",
|
||||
"--no-cache-dir",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue