name: MLX (Apple Silicon) # GitHub-hosted `macos-latest` runners are Apple Silicon (arm64), which the MLX # runtime requires. Scoped to optimized/mlx changes so it doesn't spend macOS # runner minutes on unrelated PRs. on: pull_request: paths: - "optimized/mlx/**" - ".github/workflows/mlx.yml" jobs: test: runs-on: macos-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: "3.11" - name: Install MLX deps run: | python -m pip install --upgrade pip pip install -r optimized/mlx/requirements.txt pytest - name: Adapter math — all 9 LoRA/DoRA/BoRA types (weight-free) run: pytest optimized/mlx/scripts/test_lora_merge.py -q - name: Import + CLI smoke (no weights downloaded) working-directory: optimized/mlx run: | python -c "import mlx.core; from models.defs import lora, training, demo_mlx, latent_dataset, lora_merge, sa3_pipeline; print('core imports OK')" python scripts/lora_train_mlx.py --help > /dev/null python scripts/pre_encode_mlx.py --help > /dev/null echo "CLI smoke OK"