fix(nix): build nixpkgs mcp without its upstream test suite #112

Merged
nsaspy merged 1 commit from fix/nix-mcp-rootless-tests into main 2026-09-06 11:50:12 +00:00
Owner

What changed

nix/python-env.nix now scopes python312Packages with an override that builds mcp with doCheck = false.

Why

The first real nix CI run (after unblocking action resolution and the Forgejo token issue) failed while building python3.12-mcp-1.26.0:

tests/server/fastmcp/resources/test_file_resources.py::TestFileResource::test_permission_error - Failed: DID NOT RAISE <class 'ValueError'>

mcp's permission tests assume an unprivileged builder. The docker CI runner installs single-user nix as root, so the check always fails there even though the package itself is fine. overrideScope keeps dependants (fastmcp, litellm) building against the check-free derivation. This matches the existing doCheck = false pattern already used for the pinned wheels in the same file.

Verification

Focused env evaluates and builds locally (nix build --impure of nix/symbolics-test-env.nix); the nix CI workflows then verify the full environment. Also the first real evidence that the nix gates execute.

Related: #51, #55, #54, #91

## What changed `nix/python-env.nix` now scopes `python312Packages` with an override that builds `mcp` with `doCheck = false`. ## Why The first real nix CI run (after unblocking action resolution and the Forgejo token issue) failed while building `python3.12-mcp-1.26.0`: > tests/server/fastmcp/resources/test_file_resources.py::TestFileResource::test_permission_error - Failed: DID NOT RAISE <class 'ValueError'> mcp's permission tests assume an unprivileged builder. The docker CI runner installs single-user nix as root, so the check always fails there even though the package itself is fine. `overrideScope` keeps dependants (`fastmcp`, `litellm`) building against the check-free derivation. This matches the existing `doCheck = false` pattern already used for the pinned wheels in the same file. ## Verification Focused env evaluates and builds locally (`nix build --impure` of `nix/symbolics-test-env.nix`); the nix CI workflows then verify the full environment. Also the first real evidence that the nix gates execute. Related: #51, #55, #54, #91
mcp's permission tests assume an unprivileged builder and fail when the
docker CI runner builds with root single-user nix (observed in CI:
TestFileResource::test_permission_error DID NOT RAISE ValueError).
Skip the upstream checks via overrideScope so dependants (fastmcp,
litellm) build against the same derivation; project tests still cover
the integration surface.
nsaspy merged commit 301c316ebb into main 2026-09-06 11:50:12 +00:00
Sign in to join this conversation.
No description provided.