Skip to content

chore(deps): pin uv to 0.12.5 across project, CI, and Docker - #1657

Merged
TATP-233 merged 1 commit into
mainfrom
chore/pin-uv-0.12.5
Sep 26, 2026
Merged

TATP-233 merged 1 commit into
mainfrom
chore/pin-uv-0.12.5

Conversation

@TATP-233

Copy link
Copy Markdown
Collaborator

Summary

Pin the uv toolchain version so lockfile output stops depending on which uv release a contributor or runner happens to have. Motivation: while bumping unilab-rl in #1655, a plain uv lock with local uv 0.12.5 rewrote ~370 lines of uv.lock in pure formatting churn (marker simplification, size/upload-time backfill) on top of the one-line version change, because the committed locks were last emitted by an older uv and nothing in the repo constrained the uv version.

Changes:

  • pyproject.toml / pyproject.rocm.toml: [tool.uv] required-version = "==0.12.5" — uv now hard-errors with a clear message on any other version, for every contributor and every make sync* path (including the ROCm box, whose uv was 0.11.33)
  • .github/workflows/ci.yml (6 jobs), docs.yml (2), release.yml (1): setup-uv@v8.0.0 now pins version: "0.12.5" instead of floating on latest
  • Dockerfile: installer URL pinned to https://astral.sh/uv/0.12.5/install.sh
  • docs/sphinx/source/{en,zh_CN}/1-getting_started/2-installation.md: install instructions use the pinned installer and mention required-version

No lockfile renormalization is included, deliberately: uv lock preserves the existing formatting of untouched entries, so the old-format entries are stable as-is, and forcing a full regeneration (rm uv.lock && uv lock) would also upgrade unrelated package versions. With the version pinned, future lock diffs stay minimal without a churn-heavy rewrite.

Linked Work

Validation

  • make test-all passed on the final local head before this PR was created or updated — N/A for behavior: no src//tests/ changes; CI/tooling-only. Focused checks below.
  • Additional task-specific validation listed below

Commands actually run (final local head a9079fd):

uv lock --check                                            # main lock OK under pinned 0.12.5
uv run pytest tests/scripts/test_check_docs.py -q          # 19 passed
cd docs/sphinx && UNILAB_DOCS_SKIP_AUTODOC=1 uv run --no-project \
  --with-requirements requirements.txt sphinx-build -b html -n source build/html   # success, no new warnings

# On the ROCm host (ssh amd, /home/unilab/unilabsim/UniLab, uv self-updated 0.11.33 -> 0.12.5):
git worktree add /tmp/unilab-pin-check origin/chore/pin-uv-0.12.5 --detach
uv lock --check                                            # main lock OK (240 packages)
# with pyproject.rocm.toml + uv.rocm.lock swapped in per the make sync-rocm flow:
uv lock --check                                            # ROCm lock OK (177 packages)

Remote CI route:

  • Base main: current-head CI recorded below once the run starts.

Impact

  • Backend impact: none
  • Platform impact: both (all contributors now need uv 0.12.5; required-version emits an explicit error otherwise)
  • Training effect expected: no

Artifacts

  • N/A

Checklist

  • Added or updated tests where needed — N/A, no behavior change
  • Updated docs if behavior or workflow changed — installation pages (en + zh_CN) now install the pinned uv
  • Linked the driving issue — none; follows chore(deps): bump unilab-rl to 1.4.1 #1655
  • Noted any follow-up work explicitly — ROCm host uv upgraded to 0.12.5 via uv self update; any other dev machines will be prompted by required-version to match

@TATP-233
TATP-233 merged commit 02bc0eb into main Sep 26, 2026
8 checks passed
@TATP-233
TATP-233 deleted the chore/pin-uv-0.12.5 branch September 26, 2026 20:10
@TATP-233 TATP-233 mentioned this pull request Sep 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant