From 0a22bb6ce5c350f6551e1b5ceb02b9681d1e5c62 Mon Sep 17 00:00:00 2001 From: Felix Weinberger Date: Wed, 22 Oct 2025 22:06:06 -0700 Subject: [PATCH 1/2] fix: use proper dependency resolution in CI - Restructure dep-resolution matrix with name and install-flags - Use uv sync with appropriate flags for each resolution strategy - Set UV_RESOLUTION env var to ensure test subprocesses use correct strategy This fixes the issue where tests spawning uv run subprocesses were re-resolving dependencies using the lockfile instead of respecting the lowest-direct resolution strategy. --- .github/workflows/shared.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/shared.yml b/.github/workflows/shared.yml index a30f0a403..c23860d9f 100644 --- a/.github/workflows/shared.yml +++ b/.github/workflows/shared.yml @@ -30,13 +30,18 @@ jobs: SKIP: no-commit-to-branch test: + name: Test (${{ matrix.python-version }}) (${{ matrix.os }}) (${{ matrix.dep-resolution.name }}) runs-on: ${{ matrix.os }} timeout-minutes: 10 continue-on-error: true strategy: matrix: python-version: ["3.10", "3.11", "3.12", "3.13"] - dep-resolution: ["lowest-direct", "highest"] + dep-resolution: + - name: lowest-direct + install-flags: "--resolution lowest-direct" + - name: highest + install-flags: "--frozen" os: [ubuntu-latest, windows-latest] steps: @@ -49,10 +54,12 @@ jobs: version: 0.9.5 - name: Install the project - run: uv sync --frozen --all-extras --python ${{ matrix.python-version }} --resolution ${{ matrix.dep-resolution }} + run: uv sync ${{ matrix.dep-resolution.install-flags }} --all-extras --python ${{ matrix.python-version }} - name: Run pytest - run: uv run --frozen --no-sync pytest + run: uv run ${{ matrix.dep-resolution.install-flags }} --no-sync pytest + env: + UV_RESOLUTION: ${{ matrix.dep-resolution.name == 'lowest-direct' && 'lowest-direct' || 'highest' }} readme-snippets: runs-on: ubuntu-latest From aed48b31066954f09722bf2119f49531dac040b4 Mon Sep 17 00:00:00 2001 From: Felix Weinberger Date: Thu, 23 Oct 2025 10:03:49 -0700 Subject: [PATCH 2/2] fix: update test job names to match branch protection rules --- .github/workflows/shared.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/shared.yml b/.github/workflows/shared.yml index c23860d9f..39c00a008 100644 --- a/.github/workflows/shared.yml +++ b/.github/workflows/shared.yml @@ -30,7 +30,7 @@ jobs: SKIP: no-commit-to-branch test: - name: Test (${{ matrix.python-version }}) (${{ matrix.os }}) (${{ matrix.dep-resolution.name }}) + name: test (${{ matrix.python-version }}, ${{ matrix.dep-resolution.name }}, ${{ matrix.os }}) runs-on: ${{ matrix.os }} timeout-minutes: 10 continue-on-error: true