-
Notifications
You must be signed in to change notification settings - Fork 2
Refactor/monorepo restructuring #23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
24 commits
Select commit
Hold shift + click to select a range
f549ff8
refactor: restructure as monorepo with Python and Rust implementations
arosboro 15a9f45
docs: update CI workflows and documentation for monorepo
arosboro 1bdb35a
fix: comprehensive fixes for docs, config, and code quality
arosboro 4f6aebe
fix: Resolve Rust CI failures - formatting and macOS deployment target
arosboro e2f42fd
Update rust-ci.
arosboro fad9366
Update rust-ci.yml to apple silicone.
arosboro 9e00b4a
Update.
arosboro 23955cf
Update and attempt to fix over use of local contstraints.
arosboro 2a37757
Fix rust lint issues.
arosboro 4f0385c
Fix issue with linting.
arosboro 3c9e3b9
Update rust stable version to 1.82.
arosboro f2813d5
Update rust.
arosboro 73780af
Fix tests.
arosboro ef24a72
Update bindgen, fix lint.
arosboro 36577ed
Update linting.
arosboro 78facf6
Update linter.
arosboro bfc11ec
Final lint.
arosboro df7f9a4
Update linter fixes.
arosboro e2028f7
Fix
arosboro 7e8e9cc
Fix.
arosboro 32ead40
Fix tests.
arosboro 433c7c8
Format.
arosboro ab703a2
Update the polishing touches.
arosboro 8e0ff75
Fix the improvements from @coderabbitai.
arosboro File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,137 @@ | ||
| name: Rust CI | ||
|
|
||
| on: | ||
| push: | ||
| branches: [main] | ||
| paths: ['rust/**', '.github/workflows/rust-ci.yml'] | ||
| pull_request: | ||
| branches: [main] | ||
| paths: ['rust/**', '.github/workflows/rust-ci.yml'] | ||
|
|
||
| jobs: | ||
| lint: | ||
| name: Lint | ||
| runs-on: macos-14 # Apple Silicon for MLX support | ||
| env: | ||
| MACOSX_DEPLOYMENT_TARGET: "14.0" | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
|
|
||
| - name: Setup Rust | ||
| uses: dtolnay/rust-toolchain@stable | ||
| with: | ||
| components: clippy, rustfmt | ||
|
|
||
| - name: Cache cargo registry | ||
| uses: actions/cache@v4 | ||
| with: | ||
| path: ~/.cargo/registry | ||
| key: ${{ runner.os }}-cargo-registry-${{ hashFiles('rust/Cargo.lock') }} | ||
| restore-keys: | | ||
| ${{ runner.os }}-cargo-registry- | ||
|
|
||
| - name: Cache cargo index | ||
| uses: actions/cache@v4 | ||
| with: | ||
| path: ~/.cargo/git | ||
| key: ${{ runner.os }}-cargo-git-${{ hashFiles('rust/Cargo.lock') }} | ||
| restore-keys: | | ||
| ${{ runner.os }}-cargo-git- | ||
|
|
||
| - name: Cache cargo build | ||
| uses: actions/cache@v4 | ||
| with: | ||
| path: rust/target | ||
| key: ${{ runner.os }}-cargo-build-${{ hashFiles('rust/Cargo.lock') }} | ||
| restore-keys: | | ||
| ${{ runner.os }}-cargo-build- | ||
|
|
||
| - name: Check formatting | ||
| run: cargo fmt --manifest-path rust/Cargo.toml --all -- --check | ||
|
|
||
| - name: Run clippy | ||
| run: cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features -- -D warnings | ||
|
|
||
| build-and-test: | ||
| name: Build and Test | ||
| runs-on: macos-14 # Apple Silicon for MLX support | ||
| env: | ||
| MACOSX_DEPLOYMENT_TARGET: "14.0" | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
|
|
||
| - name: Setup Rust | ||
| uses: dtolnay/rust-toolchain@stable | ||
|
|
||
| - name: Cache cargo registry | ||
| uses: actions/cache@v4 | ||
| with: | ||
| path: ~/.cargo/registry | ||
| key: ${{ runner.os }}-cargo-registry-${{ hashFiles('rust/Cargo.lock') }} | ||
| restore-keys: | | ||
| ${{ runner.os }}-cargo-registry- | ||
|
|
||
| - name: Cache cargo index | ||
| uses: actions/cache@v4 | ||
| with: | ||
| path: ~/.cargo/git | ||
| key: ${{ runner.os }}-cargo-git-${{ hashFiles('rust/Cargo.lock') }} | ||
| restore-keys: | | ||
| ${{ runner.os }}-cargo-git- | ||
|
|
||
| - name: Cache cargo build | ||
| uses: actions/cache@v4 | ||
| with: | ||
| path: rust/target | ||
| key: ${{ runner.os }}-cargo-build-test-${{ hashFiles('rust/Cargo.lock') }} | ||
| restore-keys: | | ||
| ${{ runner.os }}-cargo-build-test- | ||
|
|
||
| - name: Build | ||
| run: cargo build --release --manifest-path rust/Cargo.toml | ||
|
|
||
| - name: Run tests | ||
| run: cargo test --manifest-path rust/Cargo.toml --all-features | ||
|
|
||
| - name: Run doc tests | ||
| run: cargo test --manifest-path rust/Cargo.toml --doc | ||
|
|
||
| examples: | ||
| name: Build Examples | ||
| runs-on: macos-14 # Apple Silicon for MLX support | ||
| env: | ||
| MACOSX_DEPLOYMENT_TARGET: "14.0" | ||
| needs: [lint, build-and-test] | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
|
|
||
| - name: Setup Rust | ||
| uses: dtolnay/rust-toolchain@stable | ||
|
|
||
| - name: Cache cargo registry | ||
| uses: actions/cache@v4 | ||
| with: | ||
| path: ~/.cargo/registry | ||
| key: ${{ runner.os }}-cargo-registry-${{ hashFiles('rust/Cargo.lock') }} | ||
| restore-keys: | | ||
| ${{ runner.os }}-cargo-registry- | ||
|
|
||
| - name: Cache cargo index | ||
| uses: actions/cache@v4 | ||
| with: | ||
| path: ~/.cargo/git | ||
| key: ${{ runner.os }}-cargo-git-${{ hashFiles('rust/Cargo.lock') }} | ||
| restore-keys: | | ||
| ${{ runner.os }}-cargo-git- | ||
|
|
||
| - name: Cache cargo build | ||
| uses: actions/cache@v4 | ||
| with: | ||
| path: rust/target | ||
| key: ${{ runner.os }}-cargo-build-examples-${{ hashFiles('rust/Cargo.lock') }} | ||
| restore-keys: | | ||
| ${{ runner.os }}-cargo-build-examples- | ||
|
|
||
| - name: Build examples | ||
| run: cargo build --manifest-path rust/Cargo.toml --examples --release | ||
|
|
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.