Pin the uv binary version used by CI and local dev

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: greenerbuild
    • None
    • None
    • Python Drivers
    • Not Needed
    • None
    • None
    • None
    • None
    • None
    • None

      Context

      Various environments run different versions of uv, so CI and local results are not reproducible, and a host's uv can be too old for the features the tooling relies on.

      Definition of done

      • A single known uv version is used by local dev (`just install`), Evergreen CI, and GitHub Actions.
      • The version is defined in one place and bumped manually when a newer uv is needed.
      • The pinned uv installs on Linux, macOS, and Windows without clobbering the toolchain or the running executable.

      Pitfalls

      • On Windows, native `uv.exe` needs Windows-form paths (cygwin paths are ignored), and `uv tool install` cannot overwrite the executable in use, so avoid copying uv to a temp location.
      • The version lives in `[tool.uv] required-version` in `pyproject.toml`; Dependabot must not auto-bump it (updates are manual).

            Assignee:
            Steve Silvester
            Reporter:
            Steve Silvester
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: