From b96d30a6e133741dd747bdf46f23072162a8b5ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Janek=20Nouvertn=C3=A9?= <25355197+provinzkraut@users.noreply.github.com> Date: Wed, 19 Feb 2025 19:43:53 +0100 Subject: [PATCH 01/12] split into groups --- .github/workflows/ci.yml | 4 +++- .github/workflows/test.yml | 7 +++++-- pyproject.toml | 1 + uv.lock | 14 ++++++++++++++ 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7df92c3d..2df6e7c2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -92,15 +92,17 @@ jobs: run: uv run slotscheck -m advanced_alchemy.config -m advanced_alchemy.repository -m advanced_alchemy.service -m advanced_alchemy.extensions -m advanced_alchemy.base -m advanced_alchemy.types -m advanced_alchemy.operations test: - name: "test (${{ matrix.python-version }}" + name: "test ${{ matrix.pytest-select }} (Py ${{ matrix.python-version }}" strategy: fail-fast: true matrix: python-version: ["3.9", "3.10", "3.11", "3.12"] + pytest-select: ["unit", "integration"] uses: ./.github/workflows/test.yml with: coverage: ${{ matrix.python-version == '3.12' }} python-version: ${{ matrix.python-version }} + pytest-select: ${{ matrix.pytest-select }} sonar: needs: - test diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0541a133..ae2f3e37 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,6 +18,9 @@ on: required: false type: number default: 60 + pytest-select: + required: true + type: string jobs: test: @@ -61,11 +64,11 @@ jobs: - name: Test if: ${{ !inputs.coverage }} - run: uv run pytest --dist "loadgroup" -m "" tests -n 2 + run: uv run pytest --dist "loadgroup" -m "" -k ${{ inputs.pytest-select }} tests -n 2 - name: Test with coverage if: ${{ inputs.coverage }} - run: uv run pytest tests --dist "loadgroup" -m "" --cov=advanced_alchemy --cov-report=xml -n 2 + run: uv run pytest tests --dist "loadgroup" -m "" --cov=advanced_alchemy -k ${{ inputs.pytest-select }} --cov-report=xml -n 2 - uses: actions/upload-artifact@v4 if: ${{ inputs.coverage }} diff --git a/pyproject.toml b/pyproject.toml index 01977f81..39010490 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -88,6 +88,7 @@ dev = [ { include-group = "spanner" }, { include-group = "cockroachdb" }, { include-group = "postgres" }, + "pytest-cdist>=0.3.1", ] doc = [ "auto-pytabs[sphinx]>=0.5.0", diff --git a/uv.lock b/uv.lock index 538162fa..64b95717 100644 --- a/uv.lock +++ b/uv.lock @@ -70,6 +70,7 @@ dev = [ { name = "pyright" }, { name = "pytest" }, { name = "pytest-asyncio" }, + { name = "pytest-cdist" }, { name = "pytest-click" }, { name = "pytest-cov" }, { name = "pytest-databases" }, @@ -260,6 +261,7 @@ dev = [ { name = "pyright", specifier = ">=1.1.386" }, { name = "pytest", specifier = ">=7.4.4" }, { name = "pytest-asyncio", specifier = ">=0.23.8" }, + { name = "pytest-cdist", specifier = ">=0.3.1" }, { name = "pytest-click" }, { name = "pytest-cov", specifier = ">=5.0.0" }, { name = "pytest-databases" }, @@ -2994,6 +2996,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/67/17/3493c5624e48fd97156ebaec380dcaafee9506d7e2c46218ceebbb57d7de/pytest_asyncio-0.25.3-py3-none-any.whl", hash = "sha256:9e89518e0f9bd08928f97a3482fdc4e244df17529460bc038291ccaf8f85c7c3", size = 19467 }, ] +[[package]] +name = "pytest-cdist" +version = "0.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6a/d4/777909e5547e71f7ccdc0887cb12c3a57a8923f9631d245cef9f0b78d495/pytest_cdist-0.3.1.tar.gz", hash = "sha256:5cfc0f64d1796a8d61cbdc818bd6b42cfa0a82cee03916c4d3d136c4902d66fb", size = 26719 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e2/ca/9ea14503d75a7cea3362742430a33c65e31bccee6ff8968e7b25d4b84e0b/pytest_cdist-0.3.1-py3-none-any.whl", hash = "sha256:95228f0a782a8d3bf93813ce1c31ca733e18d1c7ad21530e5cbf49854c70bcef", size = 7870 }, +] + [[package]] name = "pytest-click" version = "1.1.0" From d493efe8894bc92c9feee54575bdabcc5b658433 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Janek=20Nouvertn=C3=A9?= <25355197+provinzkraut@users.noreply.github.com> Date: Wed, 19 Feb 2025 20:00:22 +0100 Subject: [PATCH 02/12] try some other grouping --- .github/workflows/ci.yml | 9 +++++++-- .github/workflows/test.yml | 4 ++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2df6e7c2..2087cbd1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -92,12 +92,17 @@ jobs: run: uv run slotscheck -m advanced_alchemy.config -m advanced_alchemy.repository -m advanced_alchemy.service -m advanced_alchemy.extensions -m advanced_alchemy.base -m advanced_alchemy.types -m advanced_alchemy.operations test: - name: "test ${{ matrix.pytest-select }} (Py ${{ matrix.python-version }}" + name: "${{ matrix.python-version }} [${{ matrix.pytest-select }}]" strategy: fail-fast: true matrix: python-version: ["3.9", "3.10", "3.11", "3.12"] - pytest-select: ["unit", "integration"] + pytest-select: + - "unit or mock" + - "sqlite or duckdb" + - "pg or cockroach" + - "oracle or spanner" + - "mysql or mssql" uses: ./.github/workflows/test.yml with: coverage: ${{ matrix.python-version == '3.12' }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ae2f3e37..05002ab1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -64,11 +64,11 @@ jobs: - name: Test if: ${{ !inputs.coverage }} - run: uv run pytest --dist "loadgroup" -m "" -k ${{ inputs.pytest-select }} tests -n 2 + run: uv run pytest --dist "loadgroup" -m "" -k "${{ inputs.pytest-select }}" tests -n 2 - name: Test with coverage if: ${{ inputs.coverage }} - run: uv run pytest tests --dist "loadgroup" -m "" --cov=advanced_alchemy -k ${{ inputs.pytest-select }} --cov-report=xml -n 2 + run: uv run pytest tests --dist "loadgroup" -m "" --cov=advanced_alchemy -k "${{ inputs.pytest-select }}" --cov-report=xml -n 2 - uses: actions/upload-artifact@v4 if: ${{ inputs.coverage }} From 8f20976ba19984d775ec4776622810783a0ed2fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Janek=20Nouvertn=C3=A9?= <25355197+provinzkraut@users.noreply.github.com> Date: Wed, 19 Feb 2025 20:15:19 +0100 Subject: [PATCH 03/12] disable coverage for testing --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2087cbd1..c09087fe 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -105,7 +105,7 @@ jobs: - "mysql or mssql" uses: ./.github/workflows/test.yml with: - coverage: ${{ matrix.python-version == '3.12' }} + coverage: false python-version: ${{ matrix.python-version }} pytest-select: ${{ matrix.pytest-select }} sonar: From 6af8c91597fbd8e6739d140d322a205960010c89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Janek=20Nouvertn=C3=A9?= <25355197+provinzkraut@users.noreply.github.com> Date: Wed, 19 Feb 2025 20:41:39 +0100 Subject: [PATCH 04/12] try different grouping --- .github/workflows/ci.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c09087fe..d4b80568 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -98,11 +98,9 @@ jobs: matrix: python-version: ["3.9", "3.10", "3.11", "3.12"] pytest-select: - - "unit or mock" - - "sqlite or duckdb" - - "pg or cockroach" - - "oracle or spanner" - - "mysql or mssql" + - "not oracle and not pg" + - "pg" + - "oracle" uses: ./.github/workflows/test.yml with: coverage: false From bc3a6678fef6a8a9fd1d46ba54ac2ba526694ef2 Mon Sep 17 00:00:00 2001 From: Cody Fincher Date: Fri, 7 Mar 2025 19:14:20 +0000 Subject: [PATCH 05/12] fix: attempt at adding in coverage fix --- .github/workflows/ci.yml | 34 +++++++++++++++++++++++++++++++--- .github/workflows/test.yml | 12 ++++++++++-- 2 files changed, 41 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index adb208fc..fd8e218c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -103,13 +103,41 @@ jobs: - "oracle" uses: ./.github/workflows/test.yml with: - coverage: false + coverage: ${{ matrix.python-version == '3.13' && matrix.os == 'ubuntu-latest' }} python-version: ${{ matrix.python-version }} pytest-select: ${{ matrix.pytest-select }} + process_coverage: + name: Process Coverage + runs-on: ubuntu-latest + needs: test + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Download Artifacts + uses: actions/download-artifact@v4 + with: + path: coverage + pattern: coverage-xml* + merge-multiple: true + + - name: Combine coverage files + run: | + python -Im pip install coverage covdefaults + python -Im coverage combine coverage.xml coverage/ + python -Im coverage xml -i + + - name: Fix coverage file name + run: sed -i "s/home\/runner\/work\/advanced-alchemy\/advanced-alchemy/github\/workspace/g" coverage.xml + + - name: Upload fixed coverage file + uses: actions/upload-artifact@v4 + with: + name: coverage-xml + path: coverage.xml sonar: needs: - - test - - validate + - process_coverage if: github.event.pull_request.head.repo.fork == false && github.repository_owner == 'litestar-org' runs-on: ubuntu-latest steps: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 05002ab1..7b62e7b2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -70,8 +70,16 @@ jobs: if: ${{ inputs.coverage }} run: uv run pytest tests --dist "loadgroup" -m "" --cov=advanced_alchemy -k "${{ inputs.pytest-select }}" --cov-report=xml -n 2 + - uses: rlespinasse/slugify-value@v1.x + with: + key: pytest_select_slug + value: ${{ inputs.pytest-select }} + + - name: Rename coverage file + run: mv coverage.xml coverage-${{ steps.slugify-value.outputs.pytest_select_slug }}.xml + - uses: actions/upload-artifact@v4 if: ${{ inputs.coverage }} with: - name: coverage-xml - path: coverage.xml + name: coverage-xml-${{ steps.slugify-value.outputs.pytest_select_slug }} + path: coverage-${{ steps.slugify-value.outputs.pytest_select_slug }}.xml From 749f3b4c83f0075d7ccde81bd85792ef91892a00 Mon Sep 17 00:00:00 2001 From: Cody Fincher Date: Fri, 7 Mar 2025 19:19:37 +0000 Subject: [PATCH 06/12] fix: add conditional check --- .github/workflows/test.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7b62e7b2..0662e877 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -71,12 +71,14 @@ jobs: run: uv run pytest tests --dist "loadgroup" -m "" --cov=advanced_alchemy -k "${{ inputs.pytest-select }}" --cov-report=xml -n 2 - uses: rlespinasse/slugify-value@v1.x + if ${{ inputs.coverage }} with: key: pytest_select_slug value: ${{ inputs.pytest-select }} - name: Rename coverage file - run: mv coverage.xml coverage-${{ steps.slugify-value.outputs.pytest_select_slug }}.xml + if: ${{ inputs.coverage }} + run: mv coverage.xml coverage-${{ pytest_select_slug }}.xml - uses: actions/upload-artifact@v4 if: ${{ inputs.coverage }} From 336fc23a4a13103cab614014457b34e79985630d Mon Sep 17 00:00:00 2001 From: Cody Fincher Date: Fri, 7 Mar 2025 19:25:10 +0000 Subject: [PATCH 07/12] fix: updates --- .github/workflows/test.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0662e877..4e3dbbe6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -71,17 +71,18 @@ jobs: run: uv run pytest tests --dist "loadgroup" -m "" --cov=advanced_alchemy -k "${{ inputs.pytest-select }}" --cov-report=xml -n 2 - uses: rlespinasse/slugify-value@v1.x - if ${{ inputs.coverage }} + id: slugify-value + if: ${{ inputs.coverage }} with: key: pytest_select_slug value: ${{ inputs.pytest-select }} - name: Rename coverage file if: ${{ inputs.coverage }} - run: mv coverage.xml coverage-${{ pytest_select_slug }}.xml + run: mv coverage.xml coverage-${{ steps.slugify-value.outputs.slug }}.xml - uses: actions/upload-artifact@v4 if: ${{ inputs.coverage }} with: - name: coverage-xml-${{ steps.slugify-value.outputs.pytest_select_slug }} - path: coverage-${{ steps.slugify-value.outputs.pytest_select_slug }}.xml + name: coverage-xml-${{ steps.slugify-value.outputs.slug }} + path: coverage-${{ steps.slugify-value.outputs.slug }}.xml From 11f81f58b678658bef7e8e86e930f83811a9938f Mon Sep 17 00:00:00 2001 From: Cody Fincher Date: Fri, 7 Mar 2025 19:33:53 +0000 Subject: [PATCH 08/12] fix: updated coverage conditional --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fd8e218c..9ea046d9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -103,7 +103,7 @@ jobs: - "oracle" uses: ./.github/workflows/test.yml with: - coverage: ${{ matrix.python-version == '3.13' && matrix.os == 'ubuntu-latest' }} + coverage: ${{ matrix.python-version == '3.13'}} python-version: ${{ matrix.python-version }} pytest-select: ${{ matrix.pytest-select }} process_coverage: From 682706fe854a77187bbdba6ab0549970d9539301 Mon Sep 17 00:00:00 2001 From: Cody Fincher Date: Fri, 7 Mar 2025 20:01:32 +0000 Subject: [PATCH 09/12] chore: updated config --- .github/workflows/ci.yml | 26 +++++++++------------- .pre-commit-config.yaml | 2 +- uv.lock | 48 ++++++++++++++++++++-------------------- 3 files changed, 36 insertions(+), 40 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9ea046d9..7184106c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -107,13 +107,19 @@ jobs: python-version: ${{ matrix.python-version }} pytest-select: ${{ matrix.pytest-select }} process_coverage: - name: Process Coverage + name: merge-coverage-files runs-on: ubuntu-latest needs: test steps: - name: Check out repository uses: actions/checkout@v4 + - name: Install uv + uses: astral-sh/setup-uv@v5 + + - name: Set up Python + run: uv python install 3.13 + - name: Download Artifacts uses: actions/download-artifact@v4 with: @@ -123,9 +129,9 @@ jobs: - name: Combine coverage files run: | - python -Im pip install coverage covdefaults - python -Im coverage combine coverage.xml coverage/ - python -Im coverage xml -i + uv pip install coverage covdefaults + uv run python coverage combine coverage.xml coverage/ + uv run python coverage xml -i - name: Fix coverage file name run: sed -i "s/home\/runner\/work\/advanced-alchemy\/advanced-alchemy/github\/workspace/g" coverage.xml @@ -158,8 +164,7 @@ jobs: codecov: needs: - - test - - validate + - process_coverage runs-on: ubuntu-latest permissions: security-events: write @@ -176,15 +181,6 @@ jobs: path: coverage.xml merge-multiple: true - # - name: Combine coverage files - # run: | - # python -Im pip install coverage covdefaults - # python -Im coverage combine - # python -Im coverage xml -i - - # - name: Fix coverage file name - # run: sed -i "s/home\/runner\/work\/advanced-alchemy\/advanced-alchemy/github\/workspace/g" coverage.xml - - name: Upload coverage reports to Codecov uses: codecov/codecov-action@v5 with: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 5071f81b..308a5019 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -22,7 +22,7 @@ repos: - id: unasyncd additional_dependencies: ["ruff"] - repo: https://github.com/charliermarsh/ruff-pre-commit - rev: "v0.9.9" + rev: "v0.9.10" hooks: # Run the linter. - id: ruff diff --git a/uv.lock b/uv.lock index 05c53835..4518a887 100644 --- a/uv.lock +++ b/uv.lock @@ -1284,14 +1284,14 @@ wheels = [ [[package]] name = "faker" -version = "36.2.2" +version = "37.0.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "tzdata" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ee/6c/412b064e33d11b351ef8945e4cc0ab56aa156e107c71610c4af96bd5d72c/faker-36.2.2.tar.gz", hash = "sha256:758bc63a26dc878fa0d76aa7639b8b65327927980ed0c3683b23bd8a5182f33f", size = 1874990 } +sdist = { url = "https://files.pythonhosted.org/packages/82/c6/6820408cdd87c11f1fbbd2349b05bbda28174d746e6d708ad0f0a934f9d7/faker-37.0.0.tar.gz", hash = "sha256:d2e4e2a30d459a8ec0ae52a552aa51c48973cb32cf51107dee90f58a8322a880", size = 1875487 } wheels = [ - { url = "https://files.pythonhosted.org/packages/28/30/3e81fdb631115c37ef81ad8bd342bf3fa52e66366bbed65a367a9137f8b9/faker-36.2.2-py3-none-any.whl", hash = "sha256:14adc340dc8abed5264142ffafe6f1a0f99cf7a7525bc6863755efd5fbbd0692", size = 1918206 }, + { url = "https://files.pythonhosted.org/packages/c6/03/0ffcbc5ab352c266a648d029f79de54ca205c04661203d46a42e3f03492b/faker-37.0.0-py3-none-any.whl", hash = "sha256:2598f78b76710a4ed05e197dda5235be409b4c291ba5c9c7514989cfbc7a5144", size = 1918764 }, ] [[package]] @@ -3395,27 +3395,27 @@ wheels = [ [[package]] name = "ruff" -version = "0.9.9" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6f/c3/418441a8170e8d53d05c0b9dad69760dbc7b8a12c10dbe6db1e1205d2377/ruff-0.9.9.tar.gz", hash = "sha256:0062ed13f22173e85f8f7056f9a24016e692efeea8704d1a5e8011b8aa850933", size = 3717448 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/bc/c3/2c4afa9ba467555d074b146d9aed0633a56ccdb900839fb008295d037b89/ruff-0.9.9-py3-none-linux_armv6l.whl", hash = "sha256:628abb5ea10345e53dff55b167595a159d3e174d6720bf19761f5e467e68d367", size = 10027252 }, - { url = "https://files.pythonhosted.org/packages/33/d1/439e58487cf9eac26378332e25e7d5ade4b800ce1eec7dc2cfc9b0d7ca96/ruff-0.9.9-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:b6cd1428e834b35d7493354723543b28cc11dc14d1ce19b685f6e68e07c05ec7", size = 10840721 }, - { url = "https://files.pythonhosted.org/packages/50/44/fead822c38281ba0122f1b76b460488a175a9bd48b130650a6fb6dbcbcf9/ruff-0.9.9-py3-none-macosx_11_0_arm64.whl", hash = "sha256:5ee162652869120ad260670706f3cd36cd3f32b0c651f02b6da142652c54941d", size = 10161439 }, - { url = "https://files.pythonhosted.org/packages/11/ae/d404a2ab8e61ddf6342e09cc6b7f7846cce6b243e45c2007dbe0ca928a5d/ruff-0.9.9-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3aa0f6b75082c9be1ec5a1db78c6d4b02e2375c3068438241dc19c7c306cc61a", size = 10336264 }, - { url = "https://files.pythonhosted.org/packages/6a/4e/7c268aa7d84cd709fb6f046b8972313142cffb40dfff1d2515c5e6288d54/ruff-0.9.9-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:584cc66e89fb5f80f84b05133dd677a17cdd86901d6479712c96597a3f28e7fe", size = 9908774 }, - { url = "https://files.pythonhosted.org/packages/cc/26/c618a878367ef1b76270fd027ca93692657d3f6122b84ba48911ef5f2edc/ruff-0.9.9-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abf3369325761a35aba75cd5c55ba1b5eb17d772f12ab168fbfac54be85cf18c", size = 11428127 }, - { url = "https://files.pythonhosted.org/packages/d7/9a/c5588a93d9bfed29f565baf193fe802fa676a0c837938137ea6cf0576d8c/ruff-0.9.9-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:3403a53a32a90ce929aa2f758542aca9234befa133e29f4933dcef28a24317be", size = 12133187 }, - { url = "https://files.pythonhosted.org/packages/3e/ff/e7980a7704a60905ed7e156a8d73f604c846d9bd87deda9cabfa6cba073a/ruff-0.9.9-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:18454e7fa4e4d72cffe28a37cf6a73cb2594f81ec9f4eca31a0aaa9ccdfb1590", size = 11602937 }, - { url = "https://files.pythonhosted.org/packages/24/78/3690444ad9e3cab5c11abe56554c35f005b51d1d118b429765249095269f/ruff-0.9.9-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fadfe2c88724c9617339f62319ed40dcdadadf2888d5afb88bf3adee7b35bfb", size = 13771698 }, - { url = "https://files.pythonhosted.org/packages/6e/bf/e477c2faf86abe3988e0b5fd22a7f3520e820b2ee335131aca2e16120038/ruff-0.9.9-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6df104d08c442a1aabcfd254279b8cc1e2cbf41a605aa3e26610ba1ec4acf0b0", size = 11249026 }, - { url = "https://files.pythonhosted.org/packages/f7/82/cdaffd59e5a8cb5b14c408c73d7a555a577cf6645faaf83e52fe99521715/ruff-0.9.9-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:d7c62939daf5b2a15af48abbd23bea1efdd38c312d6e7c4cedf5a24e03207e17", size = 10220432 }, - { url = "https://files.pythonhosted.org/packages/fe/a4/2507d0026225efa5d4412b6e294dfe54725a78652a5c7e29e6bd0fc492f3/ruff-0.9.9-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:9494ba82a37a4b81b6a798076e4a3251c13243fc37967e998efe4cce58c8a8d1", size = 9874602 }, - { url = "https://files.pythonhosted.org/packages/d5/be/f3aab1813846b476c4bcffe052d232244979c3cd99d751c17afb530ca8e4/ruff-0.9.9-py3-none-musllinux_1_2_i686.whl", hash = "sha256:4efd7a96ed6d36ef011ae798bf794c5501a514be369296c672dab7921087fa57", size = 10851212 }, - { url = "https://files.pythonhosted.org/packages/8b/45/8e5fd559bea0d2f57c4e12bf197a2fade2fac465aa518284f157dfbca92b/ruff-0.9.9-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:ab90a7944c5a1296f3ecb08d1cbf8c2da34c7e68114b1271a431a3ad30cb660e", size = 11327490 }, - { url = "https://files.pythonhosted.org/packages/42/55/e6c90f13880aeef327746052907e7e930681f26a164fe130ddac28b08269/ruff-0.9.9-py3-none-win32.whl", hash = "sha256:6b4c376d929c25ecd6d87e182a230fa4377b8e5125a4ff52d506ee8c087153c1", size = 10227912 }, - { url = "https://files.pythonhosted.org/packages/35/b2/da925693cb82a1208aa34966c0f36cb222baca94e729dd22a587bc22d0f3/ruff-0.9.9-py3-none-win_amd64.whl", hash = "sha256:837982ea24091d4c1700ddb2f63b7070e5baec508e43b01de013dc7eff974ff1", size = 11355632 }, - { url = "https://files.pythonhosted.org/packages/31/d8/de873d1c1b020d668d8ec9855d390764cb90cf8f6486c0983da52be8b7b7/ruff-0.9.9-py3-none-win_arm64.whl", hash = "sha256:3ac78f127517209fe6d96ab00f3ba97cafe38718b23b1db3e96d8b2d39e37ddf", size = 10435860 }, +version = "0.9.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/8e/fafaa6f15c332e73425d9c44ada85360501045d5ab0b81400076aff27cf6/ruff-0.9.10.tar.gz", hash = "sha256:9bacb735d7bada9cfb0f2c227d3658fc443d90a727b47f206fb33f52f3c0eac7", size = 3759776 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/73/b2/af7c2cc9e438cbc19fafeec4f20bfcd72165460fe75b2b6e9a0958c8c62b/ruff-0.9.10-py3-none-linux_armv6l.whl", hash = "sha256:eb4d25532cfd9fe461acc83498361ec2e2252795b4f40b17e80692814329e42d", size = 10049494 }, + { url = "https://files.pythonhosted.org/packages/6d/12/03f6dfa1b95ddd47e6969f0225d60d9d7437c91938a310835feb27927ca0/ruff-0.9.10-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:188a6638dab1aa9bb6228a7302387b2c9954e455fb25d6b4470cb0641d16759d", size = 10853584 }, + { url = "https://files.pythonhosted.org/packages/02/49/1c79e0906b6ff551fb0894168763f705bf980864739572b2815ecd3c9df0/ruff-0.9.10-py3-none-macosx_11_0_arm64.whl", hash = "sha256:5284dcac6b9dbc2fcb71fdfc26a217b2ca4ede6ccd57476f52a587451ebe450d", size = 10155692 }, + { url = "https://files.pythonhosted.org/packages/5b/01/85e8082e41585e0e1ceb11e41c054e9e36fed45f4b210991052d8a75089f/ruff-0.9.10-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:47678f39fa2a3da62724851107f438c8229a3470f533894b5568a39b40029c0c", size = 10369760 }, + { url = "https://files.pythonhosted.org/packages/a1/90/0bc60bd4e5db051f12445046d0c85cc2c617095c0904f1aa81067dc64aea/ruff-0.9.10-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:99713a6e2766b7a17147b309e8c915b32b07a25c9efd12ada79f217c9c778b3e", size = 9912196 }, + { url = "https://files.pythonhosted.org/packages/66/ea/0b7e8c42b1ec608033c4d5a02939c82097ddcb0b3e393e4238584b7054ab/ruff-0.9.10-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:524ee184d92f7c7304aa568e2db20f50c32d1d0caa235d8ddf10497566ea1a12", size = 11434985 }, + { url = "https://files.pythonhosted.org/packages/d5/86/3171d1eff893db4f91755175a6e1163c5887be1f1e2f4f6c0c59527c2bfd/ruff-0.9.10-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:df92aeac30af821f9acf819fc01b4afc3dfb829d2782884f8739fb52a8119a16", size = 12155842 }, + { url = "https://files.pythonhosted.org/packages/89/9e/700ca289f172a38eb0bca752056d0a42637fa17b81649b9331786cb791d7/ruff-0.9.10-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de42e4edc296f520bb84954eb992a07a0ec5a02fecb834498415908469854a52", size = 11613804 }, + { url = "https://files.pythonhosted.org/packages/f2/92/648020b3b5db180f41a931a68b1c8575cca3e63cec86fd26807422a0dbad/ruff-0.9.10-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d257f95b65806104b6b1ffca0ea53f4ef98454036df65b1eda3693534813ecd1", size = 13823776 }, + { url = "https://files.pythonhosted.org/packages/5e/a6/cc472161cd04d30a09d5c90698696b70c169eeba2c41030344194242db45/ruff-0.9.10-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b60dec7201c0b10d6d11be00e8f2dbb6f40ef1828ee75ed739923799513db24c", size = 11302673 }, + { url = "https://files.pythonhosted.org/packages/6c/db/d31c361c4025b1b9102b4d032c70a69adb9ee6fde093f6c3bf29f831c85c/ruff-0.9.10-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:d838b60007da7a39c046fcdd317293d10b845001f38bcb55ba766c3875b01e43", size = 10235358 }, + { url = "https://files.pythonhosted.org/packages/d1/86/d6374e24a14d4d93ebe120f45edd82ad7dcf3ef999ffc92b197d81cdc2a5/ruff-0.9.10-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:ccaf903108b899beb8e09a63ffae5869057ab649c1e9231c05ae354ebc62066c", size = 9886177 }, + { url = "https://files.pythonhosted.org/packages/00/62/a61691f6eaaac1e945a1f3f59f1eea9a218513139d5b6c2b8f88b43b5b8f/ruff-0.9.10-py3-none-musllinux_1_2_i686.whl", hash = "sha256:f9567d135265d46e59d62dc60c0bfad10e9a6822e231f5b24032dba5a55be6b5", size = 10864747 }, + { url = "https://files.pythonhosted.org/packages/ee/94/2c7065e1d92a8a8a46d46d9c3cf07b0aa7e0a1e0153d74baa5e6620b4102/ruff-0.9.10-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:5f202f0d93738c28a89f8ed9eaba01b7be339e5d8d642c994347eaa81c6d75b8", size = 11360441 }, + { url = "https://files.pythonhosted.org/packages/a7/8f/1f545ea6f9fcd7bf4368551fb91d2064d8f0577b3079bb3f0ae5779fb773/ruff-0.9.10-py3-none-win32.whl", hash = "sha256:bfb834e87c916521ce46b1788fbb8484966e5113c02df216680102e9eb960029", size = 10247401 }, + { url = "https://files.pythonhosted.org/packages/4f/18/fb703603ab108e5c165f52f5b86ee2aa9be43bb781703ec87c66a5f5d604/ruff-0.9.10-py3-none-win_amd64.whl", hash = "sha256:f2160eeef3031bf4b17df74e307d4c5fb689a6f3a26a2de3f7ef4044e3c484f1", size = 11366360 }, + { url = "https://files.pythonhosted.org/packages/35/85/338e603dc68e7d9994d5d84f24adbf69bae760ba5efd3e20f5ff2cec18da/ruff-0.9.10-py3-none-win_arm64.whl", hash = "sha256:5fd804c0327a5e5ea26615550e706942f348b197d5475ff34c19733aee4b2e69", size = 10436892 }, ] [[package]] From 5574e2d5a046128fed754aa416dd0cb26f182fe0 Mon Sep 17 00:00:00 2001 From: Cody Fincher Date: Fri, 7 Mar 2025 20:52:56 +0000 Subject: [PATCH 10/12] fix install venv --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7184106c..f7e2a45e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -129,6 +129,7 @@ jobs: - name: Combine coverage files run: | + uv venv uv pip install coverage covdefaults uv run python coverage combine coverage.xml coverage/ uv run python coverage xml -i From 6b8c02d5110daf87a94c0bff49b482ba89e691df Mon Sep 17 00:00:00 2001 From: Cody Fincher Date: Fri, 7 Mar 2025 21:17:08 +0000 Subject: [PATCH 11/12] fix: use module --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f7e2a45e..bfe497ba 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -131,8 +131,8 @@ jobs: run: | uv venv uv pip install coverage covdefaults - uv run python coverage combine coverage.xml coverage/ - uv run python coverage xml -i + uv run python -m coverage combine coverage.xml coverage/ + uv run python -m coverage xml -i - name: Fix coverage file name run: sed -i "s/home\/runner\/work\/advanced-alchemy\/advanced-alchemy/github\/workspace/g" coverage.xml From da32ef0577f5bab9e4d48ddc01c3e8a21014c8d8 Mon Sep 17 00:00:00 2001 From: Cody Fincher Date: Fri, 7 Mar 2025 21:51:39 +0000 Subject: [PATCH 12/12] fix: command --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bfe497ba..081a7800 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -131,7 +131,7 @@ jobs: run: | uv venv uv pip install coverage covdefaults - uv run python -m coverage combine coverage.xml coverage/ + uv run python -m coverage combine coverage/ uv run python -m coverage xml -i - name: Fix coverage file name