Skip to content

CI exercises zero accelerated backends: all 49 skipif-gated sync tests skip #307

Description

@Ramdam17

The CI workflow runs uv sync --group dev then uv run pytest tests/ (.github/workflows/Build.yml:29-33). The accelerated backends are declared in [project.optional-dependencies] (pyproject.toml:37-42), not in the dev dependency group (pyproject.toml:49-72), and there is no [tool.uv] default-extras.

Confirmed by reproducing the CI environment locally — after a clean uv sync:

TORCH_AVAILABLE=False MPS_AVAILABLE=False CUDA_AVAILABLE=False
NUMBA_AVAILABLE=False METAL_AVAILABLE=False CUPY_AVAILABLE=False

All 49 skipif-gated tests in tests/test_sync.py therefore skip (breakdown: TORCH 16, METAL 11, NUMBA 11, CUPY 9, MPS 2). CI validates the NumPy path plus the fallback-warning tests, and nothing else. No accelerated backend is ever exercised automatically.

This is why several defects in this batch went unnoticed — in particular the numpy↔numba NaN/0.0 divergence, which needs no GPU at all to reproduce.

Suggested fix: add at least one CI job with uv sync --group dev --extra numba. That is pure CPU, costs almost nothing, and would immediately cover the numba kernels for all 9 metrics — including the zero-denominator divergence. A --extra torch CPU job would additionally cover the torch code paths (on CPU/float64), leaving only Metal and CUDA genuinely untestable in hosted CI.

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