diff --git a/.github/workflows/check-lock.yml b/.github/workflows/check-lock.yml new file mode 100644 index 00000000..805b0f3c --- /dev/null +++ b/.github/workflows/check-lock.yml @@ -0,0 +1,25 @@ +name: Check uv.lock + +on: + pull_request: + paths: + - "pyproject.toml" + - "uv.lock" + push: + paths: + - "pyproject.toml" + - "uv.lock" + +jobs: + check-lock: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Install uv + run: | + curl -LsSf https://astral.sh/uv/install.sh | sh + echo "$HOME/.cargo/bin" >> $GITHUB_PATH + + - name: Check uv.lock is up to date + run: uv lock --check diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d75de49e..4fd4befe 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -13,3 +13,12 @@ repos: - id: ruff-format - id: ruff args: [--fix, --exit-non-zero-on-fix] + + - repo: local + hooks: + - id: uv-lock-check + name: Check uv.lock is up to date + entry: uv lock --check + language: system + files: ^(pyproject\.toml|uv\.lock)$ + pass_filenames: false