Skip to content

Conversation

Michael-A-Kuykendall
Copy link
Owner

Summary

Fixes the root cause of Issue #114: MLX support missing from release binaries. Updates release workflow to build macOS binaries with MLX features enabled and enhances documentation with platform-specific installation instructions.

Problem Analysis

Users reported that MLX support worked in source code but was missing from distribution channels:

  • cargo install shimmy --features mlx - Users confused about requirements
  • Homebrew releases - MLX missing from pre-built binaries
  • GitHub releases - macOS binaries built without MLX features

Root Cause: Release workflow built macOS binaries with default features only, excluding MLX.

Solution Implemented

Release Pipeline Fix (Primary)

Updated .github/workflows/release.yml to build macOS binaries with MLX features:

  • Apple Silicon: --features huggingface,llama,mlx
  • Intel Mac: --features huggingface,llama,mlx

Enhanced Documentation

  • Platform-specific installation table
  • Clear verification instructions (shimmy gpu-info)
  • Distribution channel explanations

Validation Testing

  • New test suite: tests/distribution_validation_test.rs
  • Diagnostic script: scripts/test-mlx-installation.sh
  • Comprehensive validation prevents regressions

Impact

Starting with the next release (v1.7.4), macOS users will get MLX support automatically in GitHub releases. Clear documentation prevents user confusion about installation options.

Resolves Issue #114: Distribution pipeline failures for MLX support

Michael-A-Kuykendall and others added 3 commits October 12, 2025 20:25
…(Issue #114)

🔧 **Root Cause Fixed**: Release workflow now builds macOS binaries with MLX features

**Primary Changes:**
- Update release workflow to build macOS binaries with `--features "huggingface,llama,mlx"`
- Both Apple Silicon and Intel Mac binaries now include MLX support by default
- Resolves core issue where distributed binaries lacked MLX despite source code support

📚 **Enhanced Documentation:**
- Add platform-specific installation table with clear MLX instructions
- Update quick start to recommend MLX for Apple Silicon users
- Add verification commands (`shimmy gpu-info | grep -i mlx`)
- Document distribution channels and feature differences

🧪 **Comprehensive Testing:**
- Add distribution validation test suite (`tests/distribution_validation_test.rs`)
- Test MLX installation commands, feature flags, and documentation
- Validate release workflow includes MLX features
- Platform-specific compilation tests for macOS

📦 **Homebrew Formula Updates:**
- Update formula generation script to note MLX support in Apple Silicon binaries
- Improve distribution documentation

**Files Changed:**
- `.github/workflows/release.yml`: Add MLX features to macOS builds
- `README.md`: Platform-specific installation, verification instructions
- `scripts/generate-homebrew-formula.sh`: MLX support documentation
- `scripts/test-mlx-installation.sh`: MLX installation validation script
- `tests/distribution_validation_test.rs`: Comprehensive distribution tests

**User Impact:**
✅ Future releases (v1.7.4+) will include MLX in macOS binaries automatically
✅ Clear installation instructions for all platforms
✅ Users can verify MLX support with `shimmy gpu-info`
✅ No more "resolved but still broken" user experience

Resolves Issue #114: Distribution pipeline failures for MLX support

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
…into fix/issue-114-distribution-pipeline

Signed-off-by: Michael A. Kuykendall <[email protected]>
Signed-off-by: Michael A. Kuykendall <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant