From 506c39e0b59c9772028239417edb2c5294639a1c Mon Sep 17 00:00:00 2001 From: "Axel H." Date: Mon, 5 Jan 2026 05:03:18 +0100 Subject: [PATCH 1/3] ci(uv): use `uv sync --frozen` everywhere --- .github/workflows/docspublish.yml | 4 ++-- .github/workflows/pythonpackage.yml | 2 +- .pre-commit-config.yaml | 2 +- docs/contributing.md | 2 +- docs/contributing_tldr.md | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/docspublish.yml b/.github/workflows/docspublish.yml index c7eb973fb..f30d8c1de 100644 --- a/.github/workflows/docspublish.yml +++ b/.github/workflows/docspublish.yml @@ -19,7 +19,7 @@ jobs: - name: Install dependencies run: | uv --version - uv sync --locked --group script + uv sync --frozen --group script - name: Update CLI screenshots run: | uv run poe doc:screenshots @@ -52,7 +52,7 @@ jobs: - name: Install dependencies run: | uv --version - uv sync --locked --only-group documentation + uv sync --frozen --only-group documentation - name: Generate Sponsors 💖 uses: JamesIves/github-sponsors-readme-action@v1 with: diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml index 4772e8b5d..95db73364 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/pythonpackage.yml @@ -25,7 +25,7 @@ jobs: - name: Install dependencies run: | uv --version - uv sync --locked --dev --group test --group linters + uv sync --frozen --group test --group linters - name: Run tests and linters run: | git config --global user.email "action@github.com" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 4a7efc7f9..7358db3e3 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -34,7 +34,7 @@ repos: hooks: - id: uv-lock - id: uv-sync - args: [ --locked, --all-groups ] + args: [ --frozen, --all-groups ] stages: [ pre-commit, post-checkout, post-merge, post-rewrite ] - repo: https://github.com/asottile/blacken-docs diff --git a/docs/contributing.md b/docs/contributing.md index 750fb0bc1..827dfc7ac 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -40,7 +40,7 @@ If you're a first-time contributor, please check out issues labeled [good first ``` 4. Set up the development environment: ```bash - uv sync --dev + uv sync --dev --frozen ``` 5. Set up pre-commit hooks: ```bash diff --git a/docs/contributing_tldr.md b/docs/contributing_tldr.md index cbb83fb3c..91f49d1ca 100644 --- a/docs/contributing_tldr.md +++ b/docs/contributing_tldr.md @@ -13,7 +13,7 @@ Please check the [pyproject.toml](https://github.com/commitizen-tools/commitizen ```bash # Ensure you have the correct dependencies -uv sync --dev +uv sync --dev --frozen # Make ruff happy uv run poe format From 69e1f656617fb62c2c5523e3a20240c55a85d0b7 Mon Sep 17 00:00:00 2001 From: "Axel H." Date: Mon, 5 Jan 2026 05:20:21 +0100 Subject: [PATCH 2/3] build(deps): move `poethepoet` into a separate `base` group --- .github/workflows/docspublish.yml | 4 ++-- .github/workflows/pythonpackage.yml | 2 +- pyproject.toml | 4 +++- uv.lock | 4 ++++ 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docspublish.yml b/.github/workflows/docspublish.yml index f30d8c1de..2c5e7dbf2 100644 --- a/.github/workflows/docspublish.yml +++ b/.github/workflows/docspublish.yml @@ -19,7 +19,7 @@ jobs: - name: Install dependencies run: | uv --version - uv sync --frozen --group script + uv sync --frozen --group base --group script - name: Update CLI screenshots run: | uv run poe doc:screenshots @@ -52,7 +52,7 @@ jobs: - name: Install dependencies run: | uv --version - uv sync --frozen --only-group documentation + uv sync --frozen --only-group base --only-group documentation - name: Generate Sponsors 💖 uses: JamesIves/github-sponsors-readme-action@v1 with: diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml index 95db73364..d062fe2c7 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/pythonpackage.yml @@ -25,7 +25,7 @@ jobs: - name: Install dependencies run: | uv --version - uv sync --frozen --group test --group linters + uv sync --frozen --group base --group test --group linters - name: Run tests and linters run: | git config --global user.email "action@github.com" diff --git a/pyproject.toml b/pyproject.toml index eb5e8959f..e27f97fcb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -87,6 +87,7 @@ semver2 = "commitizen.version_schemes:SemVer2" [dependency-groups] dev = [ + { include-group = "base" }, { include-group = "test" }, { include-group = "linters" }, { include-group = "documentation" }, @@ -94,9 +95,10 @@ dev = [ "ipython>=8.0", "tox>4", "tox-uv", - "poethepoet>=0.34.0", ] +base = ["poethepoet>=0.34.0"] + test = [ "pytest>=7.2", "pytest-cov>=4", diff --git a/uv.lock b/uv.lock index 30e297009..d23b81214 100644 --- a/uv.lock +++ b/uv.lock @@ -214,6 +214,9 @@ dependencies = [ ] [package.dev-dependencies] +base = [ + { name = "poethepoet" }, +] dev = [ { name = "ipython", version = "8.37.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, { name = "ipython", version = "9.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, @@ -285,6 +288,7 @@ requires-dist = [ ] [package.metadata.requires-dev] +base = [{ name = "poethepoet", specifier = ">=0.34.0" }] dev = [ { name = "ipython", specifier = ">=8.0" }, { name = "mkdocs", specifier = ">=1.4.2" }, From 29ae475c8f1170f3c04f9a172424222aee6bab09 Mon Sep 17 00:00:00 2001 From: "Axel H." Date: Mon, 5 Jan 2026 05:22:49 +0100 Subject: [PATCH 3/3] ci(uv): prevent auto sync on run --- .github/workflows/docspublish.yml | 4 ++-- .github/workflows/pythonpackage.yml | 2 +- .pre-commit-config.yaml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/docspublish.yml b/.github/workflows/docspublish.yml index 2c5e7dbf2..cb5d78e75 100644 --- a/.github/workflows/docspublish.yml +++ b/.github/workflows/docspublish.yml @@ -22,7 +22,7 @@ jobs: uv sync --frozen --group base --group script - name: Update CLI screenshots run: | - uv run poe doc:screenshots + uv run --no-sync poe doc:screenshots - name: Commit and push updated CLI screenshots run: | git config --global user.name "github-actions[bot]" @@ -63,7 +63,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - uv run poe doc:build + uv run --no-sync poe doc:build - name: Deploy 🚀 uses: JamesIves/github-pages-deploy-action@v4 with: diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml index d062fe2c7..cdf0d1d17 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/pythonpackage.yml @@ -30,7 +30,7 @@ jobs: run: | git config --global user.email "action@github.com" git config --global user.name "GitHub Action" - uv run poe ci + uv run --no-sync poe ci shell: bash - name: Upload coverage to Codecov uses: codecov/codecov-action@v5 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7358db3e3..f8d29aed7 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -74,12 +74,12 @@ repos: name: Format Python code language: system pass_filenames: false - entry: uv run poe format + entry: uv run --no-sync poe format types: [ python ] - id: linter and test name: Linters language: system pass_filenames: false - entry: uv run poe lint + entry: uv run --no-sync poe lint types: [ python ]