-
Notifications
You must be signed in to change notification settings - Fork 0
fix(evo): install cross-platform workspace locking #60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -46,6 +46,22 @@ def test_packaging_declared_as_core_dependency(): | |
| ) | ||
|
|
||
|
|
||
| def test_portalocker_declared_as_core_dependency(): | ||
| """Host-projected plugins must not depend on incidental lock packages. | ||
|
|
||
| ``portalocker`` was present in ``uv.lock`` only through Windows and optional | ||
| dependency chains. A fresh lean Linux sync therefore omitted it, allowing | ||
| lock-using plugins to load before failing closed on their first operation. | ||
| """ | ||
| data = tomllib.loads((REPO_ROOT / "pyproject.toml").read_text(encoding="utf-8")) | ||
| core = data["project"]["dependencies"] | ||
| names = {_distribution_name(dep) for dep in core} | ||
| assert "portalocker" in names, ( | ||
|
Comment on lines
+56
to
+59
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
When the workspace-lock implementation or providing package changes while preserving behavior, this test still fails solely because the literal AGENTS.md reference: AGENTS.md:L1373-L1380 Useful? React with 👍 / 👎. |
||
| "portalocker is required by host-projected runtime plugins and must be " | ||
| "a declared core dependency, not an optional or platform-only transitive" | ||
| ) | ||
|
|
||
|
|
||
| def test_faster_whisper_is_not_a_base_dependency(): | ||
| data = tomllib.loads((REPO_ROOT / "pyproject.toml").read_text(encoding="utf-8")) | ||
| deps = data["project"]["dependencies"] | ||
|
|
||
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On Linux and macOS installations without the opt-in host-projected plugin, a repo-wide search of this commit shows no in-tree runtime use of
portalocker(the POSIX MCP lock usesfcntl), yet this unconditional base dependency installs it for every user and makes the core update verifier treat it as mandatory. Declare it in the plugin package or its gated installation path instead of expanding Hermes core to compensate for a plugin's undeclared runtime dependency.AGENTS.md reference: AGENTS.md:L122-L125
Useful? React with 👍 / 👎.