Skip to content

Commit 4d86288

Browse files
committed
Ensure metallib fallback can source MLX package
1 parent 7436d9a commit 4d86288

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

.github/workflows/ci.yml

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,9 @@ jobs:
149149
python-version: '3.11'
150150

151151
- name: Install Python dependencies
152-
run: python -m pip install huggingface_hub mlx-lm
152+
run: |
153+
python -m pip install --upgrade pip
154+
python -m pip install huggingface_hub mlx mlx-lm
153155
154156
- name: Download test model from HuggingFace
155157
run: |
@@ -192,14 +194,25 @@ except ImportError:
192194
print("::error::The 'mlx' Python package is not installed; cannot locate mlx.metallib.")
193195
sys.exit(1)
194196

195-
src = pathlib.Path(mlx.__file__).resolve().parent / "backend" / "metal" / "kernels" / "mlx.metallib"
197+
kernels_dir = pathlib.Path(mlx.__file__).resolve().parent / "backend" / "metal" / "kernels"
198+
if not kernels_dir.exists():
199+
print(f"::error::Could not find MLX metal kernels directory at {kernels_dir}")
200+
sys.exit(1)
201+
202+
preferred = kernels_dir / "mlx.metallib"
203+
if preferred.exists():
204+
src = preferred
205+
else:
206+
candidates = sorted(kernels_dir.glob("*.metallib"))
207+
if not candidates:
208+
print(f"::error::No metallib files were found under {kernels_dir}")
209+
sys.exit(1)
210+
src = candidates[0]
211+
print(f"::warning::Defaulting to metallib file {src.name}")
212+
196213
dest = pathlib.Path("artifacts/native/osx-arm64/mlx.metallib").resolve()
197214
dest.parent.mkdir(parents=True, exist_ok=True)
198215

199-
if not src.exists():
200-
print(f"::error::Could not find mlx.metallib at {src}")
201-
sys.exit(1)
202-
203216
shutil.copy2(src, dest)
204217
print(f"Copied mlx.metallib from {src} to {dest}")
205218
PY

0 commit comments

Comments
 (0)