Add a local build profile for offline/local-only builds#2679
Add a local build profile for offline/local-only builds#2679Amey Pawar (ameyypawar) wants to merge 2 commits into
local build profile for offline/local-only builds#2679Conversation
For GitoxideLabs#2672. `small` is already local-only but size-optimized and single-threaded, and `max-pure` is pure-Rust but networked; there was no fast, pure-Rust, local-only profile. `local` is `lean` without the HTTP/SSH client stack and without the SQLite-backed `query`/`corpus` tools, so it keeps local operations, the local `ein` tools and parallelism while the dependency graph stays entirely Rust -- no curl/reqwest/TLS backend and no C toolchain. There is no `clone`, `fetch` or `push`. Gives packagers in constrained, audited or minimal-toolchain environments a documented target instead of reverse-engineering the feature graph.
Keeps the new local-only profile building alongside the other presets.
There was a problem hiding this comment.
💡 Codex Review
Line 1 in d496e73
This commit changes justfile from mode 100755 to 100644 while keeping the shebang that is meant to support invocations like ./justfile test. On Unix systems, any local or scripted workflow that executes the justfile directly will now fail with Permission denied even though the file contents still advertise that usage; keep the executable bit when adding the new local check.
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "Codex (@codex) review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "Codex (@codex) address that feedback".
What
For #2672 — a documented build profile for local-only operation, so packagers don't have to reverse-engineer the feature graph to get there.
Background
smallis already local-only (it has noclone), but it's size-optimized and single-threaded;max-pureis pure-Rust but networked. There was no fast, pure-Rust, local-only profile — which is the gap this fills.The
localprofileIt's
leanminus the HTTP/SSH client stack and the SQLite-backedquery/corpustools:eintools (organize/estimate-hours/archive/clean), and parallelism.clone/fetch/push; pulls in none of curl/reqwest/TLS, and needs no C toolchain (no bundled SQLite) — verified viacargo tree -e build,normal(nocc/cmake/-sysanywhere).Also adds
cargo check --no-default-features --features localto the justfilecheckrecipe, next to the other presets. No new crates enterCargo.lock.Verification
Builds;
cargo clippy --workspace --no-default-features --features localis clean;gix status/cleanwork;gix cloneis absent.Open questions — this is a proposal
You own this feature architecture, so I'm not attached to the specifics:
local, oroffline/local-only?eintools andtracing; happy to trim toward a more minimal,small-like core, or to expand it, whichever you prefer.smallis the local build rather than add a profile at all, I'm glad to redo it that way instead.