Skip to content

bug(tests): test-custom-configuration fixture omits requires-python, making its lock non-deterministic #43

Description

@MAfarrag

Context

Surfaced while reviewing the lock refresh (PR #40). Fixed in the same PR.

Problem / Current Behaviour

tests/data/mkdocs-deploy/test-custom-configuration/pyproject.toml declares no requires-python, so uv lock
derives the lock's floor from the locking machine's interpreter. Locking on Python 3.12 narrows the lock to
requires-python >=3.12, which then fails the Python 3.11 test-matrix leg (uv sync --frozen: "not compatible
with locked >=3.12"), and uv lock --check disagrees with itself across interpreters. origin/main has this latent
trap today (its lock only survives because a prior commit hand-pinned the floor).

Affected locations

File Note
tests/data/mkdocs-deploy/test-custom-configuration/pyproject.toml [project] has no requires-python

Proposed Solution

Declare requires-python = ">=3.11" in the fixture's pyproject.toml (its consuming jobs run 3.11/3.12/3.13, never
3.10). The lock floor becomes deterministic regardless of the locking interpreter.

Out of Scope

The five sibling mkdocs fixtures that only run on the 3.12 default are intentionally left without requires-python.

Effort Estimate

Size: XS

Definition of Done

  • requires-python = ">=3.11" declared in the fixture pyproject
  • uv lock --check passes on both 3.11 and 3.12 (no package versions change)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions