diff --git a/.github/workflows/docspublish.yml b/.github/workflows/docspublish.yml index c7eb973fb..cb5d78e75 100644 --- a/.github/workflows/docspublish.yml +++ b/.github/workflows/docspublish.yml @@ -19,10 +19,10 @@ jobs: - name: Install dependencies run: | uv --version - uv sync --locked --group script + 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]" @@ -52,7 +52,7 @@ jobs: - name: Install dependencies run: | uv --version - uv sync --locked --only-group documentation + uv sync --frozen --only-group base --only-group documentation - name: Generate Sponsors 💖 uses: JamesIves/github-sponsors-readme-action@v1 with: @@ -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 4772e8b5d..cdf0d1d17 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/pythonpackage.yml @@ -25,12 +25,12 @@ jobs: - name: Install dependencies run: | uv --version - uv sync --locked --dev --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" 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 4a7efc7f9..f8d29aed7 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 @@ -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 ] 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 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" },