mirror of
https://github.com/ruvnet/RuVector.git
synced 2026-05-23 04:27:11 +00:00
chore(workspace): make full cargo build --workspace exit 0
Two pre-existing build blockers preventing `cargo build --workspace`
from succeeding in stock developer environments:
1. **`ruvix-aarch64`** — bare-metal ARM64 kernel crate with inline
AArch64 assembly (`tlbi`, `dsb`, `isb`, `msr`, `mrs`). On x86_64
hosts these instructions don't exist. Gate the four AArch64-only
modules (`boot`, `exception`, `mmu`, `registers`) and their
re-exports behind `#[cfg(target_arch = "aarch64")]` so the crate
builds as an empty no_std shell on other architectures while
retaining full functionality when cross-compiling for ARM64.
2. **`ruvector-postgres`** — pgrx-based PostgreSQL extension whose
build script (`pgrx-pg-sys`) requires `$PGRX_HOME` to point at a
directory populated by `cargo install cargo-pgrx --version 0.12.9`
followed by `cargo pgrx init` (which downloads + builds multiple
Postgres versions, ~1 GB / ~10 min). Move the crate from
`[workspace.members]` to `[workspace.exclude]` so default
workspace builds succeed in stock environments. The crate still
builds with `cargo build -p ruvector-postgres` after pgrx init.
Also picks up a `cargo fmt --all` reformat of
`tests/sse_backpressure.rs` (collapsed `tokio::spawn({ async move { … } })`
to `tokio::spawn(async move { … })`) — the new clippy bar's
`unnecessary-braces-in-fn-arg` lint promoted to error.
Verified:
cargo build --workspace → 0 errors
cargo clippy --workspace --all-targets --no-deps -- -D warnings → exit 0
cargo test -p rvagent-a2a → 136/136
cargo fmt --all --check → clean
Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
parent
ac5a9d7bd1
commit
efc4fe4def
4 changed files with 57 additions and 714 deletions
745
Cargo.lock
generated
745
Cargo.lock
generated
File diff suppressed because it is too large
Load diff
11
Cargo.toml
11
Cargo.toml
|
|
@ -1,5 +1,12 @@
|
|||
[workspace]
|
||||
exclude = ["crates/micro-hnsw-wasm", "crates/ruvector-hyperbolic-hnsw", "crates/ruvector-hyperbolic-hnsw-wasm", "examples/ruvLLM/esp32", "examples/ruvLLM/esp32-flash", "examples/edge-net", "examples/data", "examples/ruvLLM", "examples/delta-behavior", "crates/rvf", "crates/rvf/*", "crates/rvf/*/*", "examples/rvf-desktop", "crates/mcp-brain-server"]
|
||||
exclude = ["crates/micro-hnsw-wasm", "crates/ruvector-hyperbolic-hnsw", "crates/ruvector-hyperbolic-hnsw-wasm", "examples/ruvLLM/esp32", "examples/ruvLLM/esp32-flash", "examples/edge-net", "examples/data", "examples/ruvLLM", "examples/delta-behavior", "crates/rvf", "crates/rvf/*", "crates/rvf/*/*", "examples/rvf-desktop", "crates/mcp-brain-server",
|
||||
# ruvector-postgres is a pgrx-based PostgreSQL extension. Its build script
|
||||
# requires `$PGRX_HOME` set up via `cargo install cargo-pgrx --version 0.12.9`
|
||||
# and `cargo pgrx init`, which downloads and builds multiple Postgres
|
||||
# versions. Keep it out of default workspace builds so `cargo build --workspace`
|
||||
# works in stock environments. Build it explicitly with `cargo build -p ruvector-postgres`
|
||||
# after running pgrx init.
|
||||
"crates/ruvector-postgres"]
|
||||
members = [
|
||||
"crates/ruvector-rabitq",
|
||||
"crates/ruvector-rulake",
|
||||
|
|
@ -39,7 +46,7 @@ members = [
|
|||
"crates/ruvector-mincut-node",
|
||||
"crates/ruvector-mincut-gated-transformer",
|
||||
"crates/ruvector-mincut-gated-transformer-wasm",
|
||||
"crates/ruvector-postgres",
|
||||
# NOTE: ruvector-postgres is in workspace `exclude` (pgrx env requirement).
|
||||
"crates/ruvector-nervous-system",
|
||||
"examples/refrag-pipeline",
|
||||
"examples/scipix",
|
||||
|
|
|
|||
|
|
@ -25,14 +25,24 @@
|
|||
#![no_std]
|
||||
#![allow(unsafe_op_in_unsafe_fn)]
|
||||
|
||||
// AArch64-specific code (inline asm, MMU, system registers) only
|
||||
// compiles on `target_arch = "aarch64"`. On other targets the crate
|
||||
// builds as an empty shell so workspace-wide `cargo build` succeeds.
|
||||
#[cfg(target_arch = "aarch64")]
|
||||
pub mod boot;
|
||||
#[cfg(target_arch = "aarch64")]
|
||||
pub mod exception;
|
||||
#[cfg(target_arch = "aarch64")]
|
||||
pub mod mmu;
|
||||
#[cfg(target_arch = "aarch64")]
|
||||
pub mod registers;
|
||||
|
||||
// Re-export key types
|
||||
// Re-export key types (aarch64 only).
|
||||
#[cfg(target_arch = "aarch64")]
|
||||
pub use boot::{early_init, kernel_main};
|
||||
#[cfg(target_arch = "aarch64")]
|
||||
pub use mmu::Mmu;
|
||||
#[cfg(target_arch = "aarch64")]
|
||||
pub use registers::*;
|
||||
|
||||
/// AArch64 page size (4KB)
|
||||
|
|
|
|||
|
|
@ -167,8 +167,7 @@ async fn bounded_channel_drops_oldest_without_blocking_producer() {
|
|||
let send_base = base_url.clone();
|
||||
let send_spec = spec(task_id, root);
|
||||
let wall_start = Instant::now();
|
||||
let send_handle =
|
||||
tokio::spawn(async move { client.send_task(&send_base, send_spec).await });
|
||||
let send_handle = tokio::spawn(async move { client.send_task(&send_base, send_spec).await });
|
||||
|
||||
// Slow consumer: inter-read sleep forces the cap-256 buffer to
|
||||
// overflow. We stop as soon as the `warning` frame arrives (Lagged →
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue