Skip to content

CI: os matrix is never used — all 21 jobs run on ubuntu-22.04, macOS/Windows never tested #695

Description

@kobihikri

Hi, and thank you for annoy.

While reading .github/workflows/ci.yml (at current HEAD 379f744), I noticed the unit-tests job defines an OS matrix that is never used:

runs-on: ubuntu-22.04          # <- literal, not ${{ matrix.os }}
strategy:
  fail-fast: false
  matrix:
    python-version: ["3.7", ..., "3.13"]
    os: ["ubuntu-20.04", "macos-latest", "windows-latest"]

Because runs-on is the literal ubuntu-22.04, all 21 matrix combinations run on Ubuntu 22.04 — macOS and Windows are never actually exercised (and the ubuntu-20.04 matrix entry is a GitHub-retired image, though it's inert as written). The matrix triples CI time without adding coverage.

Why an issue rather than a PR: the mechanical fix is runs-on: ${{ matrix.os }}, but flipping it on may surface real macOS/Windows build failures for the C++ extension (e.g. the themes in #659 and #523), and I didn't want to hand you red CI without discussing first. Options:

  1. runs-on: ${{ matrix.os }} and accept/triage whatever fails (fail-fast: false is already set);
  2. drop the unused os: matrix axis to make the config honest about what it tests (cuts 14 redundant jobs);
  3. some middle path (e.g. one macOS + one Windows lane on the newest Python only).

Happy to send a PR for whichever direction you prefer.

For transparency: I used AI assistance to spot and draft this; I verified the workflow content myself.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions