fix(build): avoid release OOM on 1GB hosts (#404)

This commit is contained in:
Chummy 2026-02-17 01:27:24 +08:00 committed by GitHub
parent 90deb8fd5e
commit 0456f14a11
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 7 deletions

View file

@ -124,15 +124,15 @@ rag-pdf = ["dep:pdf-extract"]
[profile.release]
opt-level = "z" # Optimize for size
lto = "thin" # Lower memory use during release builds
codegen-units = 8 # Faster, lower-RAM codegen for small devices
lto = false # Keep release buildable on low-RAM hosts (e.g., 1GB boards)
codegen-units = 16 # Reduce peak compiler memory pressure
strip = true # Remove debug symbols
panic = "abort" # Reduce binary size
[profile.dist]
inherits = "release"
opt-level = "z"
lto = "fat"
lto = "fat" # Maximum size/runtime optimization for published artifacts
codegen-units = 1
strip = true
panic = "abort"

View file

@ -114,7 +114,7 @@ zeroclaw migrate openclaw
```
> **Dev fallback (no global install):** prefix commands with `cargo run --release --` (example: `cargo run --release -- status`).
> **Low-memory boards (e.g., Raspberry Pi 3, 1GB RAM):** run `CARGO_BUILD_JOBS=1 cargo build --release` if the kernel kills rustc during compilation.
> **Low-memory boards (e.g., Raspberry Pi 3, 1GB RAM):** run `CARGO_BUILD_JOBS=1 cargo build --release` (the default release profile is tuned to avoid LTO OOM on small-memory hosts).
## Architecture
@ -456,9 +456,10 @@ See [aieos.org](https://aieos.org) for the full schema and live examples.
```bash
cargo build # Dev build
cargo build --release # Release build (~3.4MB)
CARGO_BUILD_JOBS=1 cargo build --release # Low-memory fallback (Raspberry Pi 3, 1GB RAM)
cargo test # 1,017 tests
cargo build --release # Release build
CARGO_BUILD_JOBS=1 cargo build --release # Low-memory boards (Raspberry Pi 3, 1GB RAM)
cargo build --profile dist --locked # Max-optimized distribution build (CI/release)
cargo test # test suite
cargo clippy # Lint (0 warnings)
cargo fmt # Format