diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f1df7bd78..e3a34e94c 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -122,11 +122,25 @@ jobs: .venv key: uv-main-py${{ matrix.python-version }}-${{ hashFiles('uv.lock') }} + # Report the required check names (tests 3.10–3.13) when the matrix is skipped. + # Branch protection expects these names; a skipped matrix never reports them. + tests-skip: + name: tests (${{ matrix.python-version }}) + needs: changes + if: needs.changes.outputs.code != 'true' + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ['3.10', '3.11', '3.12', '3.13'] + steps: + - name: Skip non-code change + run: echo "Non-code change, skipping tests" + # Summary job to provide single status for branch protection tests: name: tests runs-on: ubuntu-latest - needs: [changes, tests-matrix] + needs: [changes, tests-matrix, tests-skip] if: always() steps: - name: Check results diff --git a/.github/workflows/type-checker.yml b/.github/workflows/type-checker.yml index 5ca0bbb05..9cb688924 100644 --- a/.github/workflows/type-checker.yml +++ b/.github/workflows/type-checker.yml @@ -76,11 +76,25 @@ jobs: .venv key: uv-main-py${{ matrix.python-version }}-${{ hashFiles('uv.lock') }} + # Report the required check names when the matrix is skipped. + # Branch protection expects these names; a skipped matrix never reports them. + type-checker-skip: + name: type-checker (${{ matrix.python-version }}) + needs: changes + if: needs.changes.outputs.code != 'true' + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.10", "3.11", "3.12", "3.13"] + steps: + - name: Skip non-code change + run: echo "Non-code change, skipping type checks" + # Summary job to provide single status for branch protection type-checker: name: type-checker runs-on: ubuntu-latest - needs: [changes, type-checker-matrix] + needs: [changes, type-checker-matrix, type-checker-skip] if: always() steps: - name: Check results