This is an automated email from the ASF dual-hosted git repository.

dru pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-python.git


The following commit(s) were added to refs/heads/main by this push:
     new fcfaaf6d Improve lockfile management documentation and enforce 
`uv.lock` freshness in CI (#3144)
fcfaaf6d is described below

commit fcfaaf6d16651a354cf4ef9523af8aae9fe6af37
Author: Kevin Liu <[email protected]>
AuthorDate: Thu Mar 12 10:31:17 2026 -0700

    Improve lockfile management documentation and enforce `uv.lock` freshness 
in CI (#3144)
---
 .github/workflows/python-ci.yml |  2 ++
 mkdocs/docs/contributing.md     | 20 ++++++++++----------
 2 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/.github/workflows/python-ci.yml b/.github/workflows/python-ci.yml
index d1bc3a0f..6472fcbc 100644
--- a/.github/workflows/python-ci.yml
+++ b/.github/workflows/python-ci.yml
@@ -65,6 +65,8 @@ jobs:
         enable-cache: true
     - name: Install system dependencies
       run: sudo apt-get update && sudo apt-get install -y libkrb5-dev # for 
kerberos
+    - name: Check uv.lock is up to date
+      run: uv lock --check
     - name: Install
       run: make install
     - name: Run linters
diff --git a/mkdocs/docs/contributing.md b/mkdocs/docs/contributing.md
index 50100b9b..0155907a 100644
--- a/mkdocs/docs/contributing.md
+++ b/mkdocs/docs/contributing.md
@@ -88,25 +88,25 @@ For full control over your environment, you can use uv 
commands directly. See th
 - Managing dependencies with `uv add` and `uv remove`
 - Python version management with `uv python`
 - Running commands with `uv run`
-- Lock file management with `uv.lock`
+- Lock file management with `uv lock`
 
 ### Lock File Management
 
-`uv.lock` is a cross-platform lockfile that contains exact information about 
the project's dependencies.
-See the [uv.lock 
documentation](https://docs.astral.sh/uv/guides/projects/#uvlock) for more 
details.
+`uv.lock` is a cross-platform lockfile that contains the exact versions of all 
project dependencies. See the [uv.lock 
documentation](https://docs.astral.sh/uv/guides/projects/#uvlock) for more 
details.
 
-When modifying dependencies in `pyproject.toml`, regenerate the lock file:
+**Automatic lock file management:**
+When you commit changes to `pyproject.toml` or dependencies, the 
[`uv-pre-commit`](https://github.com/astral-sh/uv-pre-commit) pre-commit hook 
will automatically update `uv.lock` if needed. If the lockfile changes, your 
commit will be stopped and you will be prompted to add the updated `uv.lock` to 
your commit.
 
-```bash
-make uv-lock
-```
-
-Separately, to verify that the lock file is up to date without modifying it:
+**Manual update:**
+If you want to update the lockfile yourself (for example, after editing 
`pyproject.toml`), run:
 
 ```bash
-make uv-lock-check
+uv lock
 ```
 
+**CI enforcement:**
+Our continuous integration (CI) system checks that `uv.lock` is up to date 
with `pyproject.toml` on every pull request or push. If they are out of sync, 
the CI build will fail. This ensures that dependencies are always consistent 
and up to date for all contributors.
+
 ## Installation from source
 
 Clone the repository for local development:

Reply via email to