Release 2026.08.18: keep the docs site out of the sdist
The pre-publish audit caught the source distribution sweeping in the whole docs-site tree, node_modules included: 7,178 files and 71 MB for a package whose source is about thirty files. Excluded, which brings it back to 116 KB. No secrets were exposed (no local .env exists), but this is exactly the case the unpacked-sdist audit is meant to catch, and PyPI is immutable per version.
This commit is contained in:
parent
3e0ec930ef
commit
ca105401c4
@ -1,6 +1,6 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "mcqemu"
|
name = "mcqemu"
|
||||||
version = "2026.08.17"
|
version = "2026.08.18"
|
||||||
description = "MCP server for managing QEMU virtual machines"
|
description = "MCP server for managing QEMU virtual machines"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.11"
|
requires-python = ">=3.11"
|
||||||
@ -53,6 +53,10 @@ exclude = [
|
|||||||
".env",
|
".env",
|
||||||
".mcp.json",
|
".mcp.json",
|
||||||
"tests/",
|
"tests/",
|
||||||
|
# The docs site is a whole Astro project with its own node_modules; without
|
||||||
|
# this the sdist went from ~30 files to 7,178 and from kilobytes to 71 MB.
|
||||||
|
"docs-site/",
|
||||||
|
".venv/",
|
||||||
".pytest_cache/",
|
".pytest_cache/",
|
||||||
".ruff_cache/",
|
".ruff_cache/",
|
||||||
"dist/",
|
"dist/",
|
||||||
|
|||||||
@ -1,3 +1,3 @@
|
|||||||
"""mcqemu — MCP server for managing QEMU virtual machines."""
|
"""mcqemu — MCP server for managing QEMU virtual machines."""
|
||||||
|
|
||||||
__version__ = "2026.08.17"
|
__version__ = "2026.08.18"
|
||||||
|
|||||||
@ -69,9 +69,10 @@ async def test_image_toolchain(dirs, tmp_path):
|
|||||||
assert len(chain) == 2, "overlay must report its backing file"
|
assert len(chain) == 2, "overlay must report its backing file"
|
||||||
|
|
||||||
result_data(await client.call_tool("image_resize", {"path": str(base), "size": "128M"}))
|
result_data(await client.call_tool("image_resize", {"path": str(base), "size": "128M"}))
|
||||||
assert result_data(await client.call_tool("image_info", {"path": str(base)}))[
|
assert (
|
||||||
"virtual-size"
|
result_data(await client.call_tool("image_info", {"path": str(base)}))["virtual-size"]
|
||||||
] == 128 * 1024**2
|
== 128 * 1024**2
|
||||||
|
)
|
||||||
|
|
||||||
converted = result_data(
|
converted = result_data(
|
||||||
await client.call_tool(
|
await client.call_tool(
|
||||||
@ -204,9 +205,7 @@ async def test_sandbox_guest_and_snapshot_journey(dirs):
|
|||||||
|
|
||||||
async with Client(mcp) as client:
|
async with Client(mcp) as client:
|
||||||
sandbox = result_data(
|
sandbox = result_data(
|
||||||
await client.call_tool(
|
await client.call_tool("sandbox_vm", {"base_image": str(BASE_IMAGE), "memory_mb": 2048})
|
||||||
"sandbox_vm", {"base_image": str(BASE_IMAGE), "memory_mb": 2048}
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
assert sandbox["guest_agent"] == "responding", sandbox
|
assert sandbox["guest_agent"] == "responding", sandbox
|
||||||
assert sandbox["network"] == "outbound blocked"
|
assert sandbox["network"] == "outbound blocked"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user