diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 70710e340..c4ee0ef0c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -51,6 +51,7 @@ jobs: python-version: [ "3.14" ] uv-resolution: - highest + starlette-src: [ true, false ] include: - os: ubuntu-latest python-version: "3.9" @@ -78,11 +79,13 @@ jobs: python-version: "3.14" coverage: coverage uv-resolution: highest + starlette-src: true fail-fast: false runs-on: ${{ matrix.os }} env: UV_PYTHON: ${{ matrix.python-version }} UV_RESOLUTION: ${{ matrix.uv-resolution }} + STARLETTE_SRC: ${{ matrix.starlette-src }} steps: - name: Dump GitHub context env: @@ -102,10 +105,13 @@ jobs: uv.lock - name: Install Dependencies run: uv sync --no-dev --group tests --extra all + - name: Install Starlette from source + if: matrix.starlette-src == 'true' + run: uv pip install --force-reinstall --no-deps --no-cache-dir --find-links https://test.pypi.org/simple/ starlette - run: mkdir coverage - name: Test if: matrix.codspeed != 'codspeed' - run: uv run bash scripts/test.sh + run: uv run --no-sync bash scripts/test.sh env: COVERAGE_FILE: coverage/.coverage.${{ runner.os }}-py${{ matrix.python-version }} CONTEXT: ${{ runner.os }}-py${{ matrix.python-version }} @@ -117,7 +123,7 @@ jobs: CONTEXT: ${{ runner.os }}-py${{ matrix.python-version }} with: mode: simulation - run: uv run coverage run -m pytest tests/ --codspeed + run: uv run --no-sync coverage run -m pytest tests/ --codspeed # Do not store coverage for all possible combinations to avoid file size max errors in Smokeshow - name: Store coverage files if: matrix.coverage == 'coverage'