[MAINT]: Fix CI Issues#228
Conversation
|
|
Overall Grade |
Security Reliability Complexity Hygiene |
Code Review Summary
| Analyzer | Status | Updated (UTC) | Details |
|---|---|---|---|
| Rust | May 13, 2026 3:59p.m. | Review ↗ |
Important
AI Review is run only on demand for your team. We're only showing results of static analysis review right now. To trigger AI Review, comment @deepsourcebot review on this thread.
Greptile SummaryThis PR fixes CI instability by pinning maturin to an exact version (
Confidence Score: 4/5Safe to merge for CI stabilisation; the Makefile macro leaves macOS Metal/Vulkan local builds broken on the .dylib extension lookup. The maturin version pinning and workflow changes are consistent and correct. The updated install_maturin_cdylib macro fixes the output-directory ambiguity but still hardcodes .so, meaning make python-bindings-build-metal fails at the install step on macOS — any contributor developing on Apple Silicon will hit an immediate error even after a successful Rust compilation. The Cargo dependency bumps are minor and low-risk. Makefile — the install_maturin_cdylib macro needs to probe for .dylib on macOS in addition to the existing .so check. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Developer / CI trigger] --> B{Build target}
B -->|make python-bindings-build| C[maturin develop --release]
B -->|make python-bindings-build-metal| D[maturin develop --release --features metal]
B -->|CI: maturin-action@v1| E[maturin-version: v1.13.3]
C --> F[install_maturin_cdylib macro]
D --> F
F --> G{lib found in target/maturin/?}
G -->|yes| H[install .so to package dir]
G -->|no| I{lib found in target/release/?}
I -->|yes| H
I -->|no| J[error: lib not found — exit 1]
E --> K[Build wheel / sdist]
subgraph pyproject.toml pins
L[maturin==1.13.3 build-system.requires]
end
subgraph CI env var
M[MATURIN_VERSION: 1.13.3 all three workflow files]
end
L -.->|must stay in sync| M
Reviews (1): Last reviewed commit: "FIX CI Issues" | Re-trigger Greptile |
| define install_maturin_cdylib | ||
| @lib="$(2)"; src=""; if [[ -f "$(1)/maturin/$$lib" ]]; then src="$(1)/maturin/$$lib"; elif [[ -f "$(1)/release/$$lib" ]]; then src="$(1)/release/$$lib"; else echo "error: $$lib not found under $(1)/maturin or $(1)/release" >&2; exit 1; fi; rm -f "$(3)"; install -m 755 "$$src" "$(3)" | ||
| endef |
There was a problem hiding this comment.
macOS
.dylib not handled in install_maturin_cdylib
The macro searches for $$lib (e.g. lib_autoagents_llamacpp_metal.so) but on macOS Rust emits lib_*.dylib, not lib_*.so. This means make python-bindings-build-metal will always hit the error branch on macOS even though the Metal build succeeds — the compiled library exists but under the wrong extension. The Metal and Vulkan local-development targets are effectively broken on macOS until the macro also probes the .dylib name. The old install_shared_lib had the same limitation, so this is a pre-existing gap, but the new "fallback" logic gives a false sense that cross-version portability is now fully covered.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
No description provided.