From b47b6926ca3ed033026b86e8d0e05efeda7b2448 Mon Sep 17 00:00:00 2001 From: harell <7226303+harell@users.noreply.github.com> Date: Thu, 16 Apr 2026 11:25:57 +1200 Subject: [PATCH] =?UTF-8?q?ci:=20reduce=20matrix=20to=20Linux=20=C3=97=20a?= =?UTF-8?q?ll=20Python=20+=20spot-check=20Windows/macOS=20on=203.13=20only?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yml | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4591eea..eb1109c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,11 +30,6 @@ jobs: with: persist-credentials: false - - name: Setup git user config - run: | - git config --global user.name placeholder - git config --global user.email placeholder@example.com - - name: Set up uv uses: astral-sh/setup-uv@f94ec6bedd8674c4426838e6b50417d36b6ab231 # v5.3.1 with: @@ -48,10 +43,10 @@ jobs: env: PYTHON_VERSION: ${{ matrix.python-version }} - - name: Run pre-commit + - name: Run Prek if: matrix.checks run: | - uv run pre-commit run --all-files + uv run --frozen prek run --all-files - name: Run pyright if: matrix.checks @@ -75,11 +70,11 @@ jobs: MPLBACKEND: Agg # https://github.com/orgs/community/discussions/26434 - name: Create test reports directory - if: matrix.pytest && matrix.os == 'ubuntu-latest' && matrix.python-version == '3.10' && matrix.resolution == 'highest' + if: matrix.pytest && matrix.python-version == '3.10' && matrix.resolution == 'highest' run: mkdir -p ./test-reports - name: Upload coverage reports - if: matrix.pytest && matrix.os == 'ubuntu-latest' && matrix.python-version == '3.10' && matrix.resolution == 'highest' + if: matrix.pytest && matrix.python-version == '3.10' && matrix.resolution == 'highest' uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 with: name: coverage-reports @@ -87,17 +82,29 @@ jobs: strategy: matrix: - os: ["ubuntu-latest", "macos-latest", "windows-latest"] + os: ["ubuntu-latest"] python-version: ["3.10", "3.11", "3.12", "3.13"] resolution: ["highest"] checks: [true] pytest: [true] include: + # Min-dependency run on Linux - os: "ubuntu-latest" python-version: "3.10" resolution: "lowest-direct" checks: false pytest: true + # Cross-platform spot-checks on latest Python only (cost-reduced from full matrix) + - os: "windows-latest" + python-version: "3.13" + resolution: "highest" + checks: false + pytest: true + - os: "macos-latest" + python-version: "3.13" + resolution: "highest" + checks: false + pytest: true code-analysis: name: Analyse Code Quality @@ -141,3 +148,4 @@ jobs: env: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} SONAR_HOST_URL: ${{ vars.SONAR_HOST_URL }} +