Skip to content

Commit 5f043a4

Browse files
committed
ci: TEMP diagnostic — isolate the mlx-cpu Linux abort
1 parent bbc942c commit 5f043a4

1 file changed

Lines changed: 16 additions & 13 deletions

File tree

.github/workflows/test.yml

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
name: Test
22

3-
# Spine contract tests (unit + parity). Separate from the release-only
4-
# workflow.yml: this workflow has NO id-token permission, so OIDC trusted
5-
# publishing stays isolated to the publisher (ARCHITECTURE.md §12).
3+
# TEMP DIAGNOSTIC: isolate why mlx-cpu aborts on Linux. Will be restored to the
4+
# real matrix once the setup fix is known.
65

76
on:
87
push:
@@ -15,25 +14,29 @@ jobs:
1514
test:
1615
name: Unit + spine contracts
1716
runs-on: ubuntu-latest
18-
strategy:
19-
fail-fast: false
20-
matrix:
21-
python-version: ["3.9", "3.13"]
2217
steps:
2318
- uses: actions/checkout@v6
2419

2520
- name: Set up Python
2621
uses: actions/setup-python@v6
2722
with:
28-
python-version: ${{ matrix.python-version }}
23+
python-version: "3.12"
2924

3025
- name: Install package + test deps
3126
run: |
3227
python -m pip install --upgrade pip
33-
# On Linux the bare `mlx` wheel is a thin wrapper; the native libmlx.so
34-
# backend ships separately. `mlx[cpu]` pulls the matching mlx-cpu build.
35-
# (The [mlx] extra stays bare `mlx` so macOS installs the Metal backend.)
3628
python -m pip install -e ".[test]" "mlx[cpu]"
29+
python -m pip show mlx mlx-cpu 2>/dev/null | grep -E "^(Name|Version):" || true
3730
38-
- name: Run tests
39-
run: python -m pytest -q
31+
- name: mlx-cpu op probes
32+
continue-on-error: true
33+
run: |
34+
python -c "import mlx.core as mx; print('import OK')" || echo 'IMPORT ABORTED'
35+
python -c "import mlx.core as mx; mx.eval(mx.add(mx.ones((4,)), mx.ones((4,)))); print('add OK')" 2>&1 || echo 'add ABORTED'
36+
python -c "import mlx.core as mx; a=mx.random.normal((1,16,16,8)); w=mx.random.normal((4,3,3,8)); mx.eval(mx.conv2d(a,w)); print('conv2d OK')" 2>&1 || echo 'conv2d ABORTED'
37+
python -c "import mlx.core as mx; a=mx.random.normal((1,16,16,4)); w=mx.random.normal((4,3,3,4)); mx.eval(mx.conv_transpose2d(a,w)); print('conv_transpose2d OK')" 2>&1 || echo 'conv_transpose2d ABORTED'
38+
python -c "import mlx.core as mx; q=mx.random.normal((1,2,8,16)); mx.eval(mx.fast.scaled_dot_product_attention(q,q,q,scale=0.5)); print('sdpa OK')" 2>&1 || echo 'sdpa ABORTED'
39+
40+
- name: Single failing test (full stderr)
41+
continue-on-error: true
42+
run: python -m pytest tests/test_da3_parity.py -s -rA

0 commit comments

Comments
 (0)