@zackees/soldr 0.8.20 → 0.8.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -169,13 +169,13 @@ When you run `soldr`, the tool should do the obvious thing:
|
|
|
169
169
|
- pick MSVC on Windows by default
|
|
170
170
|
- fetch the tool you asked for
|
|
171
171
|
- cache it locally
|
|
172
|
-
-
|
|
172
|
+
- run the built-in zccache service so Rust builds get transparent caching without manual wrapper setup
|
|
173
173
|
|
|
174
174
|
If soldr solves that one problem well, it becomes a super tool: the command you reach for first, because it makes the rest of the stack behave.
|
|
175
175
|
|
|
176
176
|
- **Tool acquisition** (the crgx half): Need `maturin`, `cargo-dylint`, or any crate binary? soldr fetches a pre-built binary from GitHub Releases in seconds. No `cargo install` from source. Cached locally for instant reuse. On `0.5.x`, this is still an upstream trust decision rather than a repo-side trust guarantee; see [docs/TRUST_BOUNDARIES.md](./docs/TRUST_BOUNDARIES.md).
|
|
177
177
|
|
|
178
|
-
- **Compilation caching** (the zccache half): `soldr cargo ...`
|
|
178
|
+
- **Compilation caching** (the zccache half): `soldr cargo ...` uses the zccache service compiled into Soldr. soldr owns the daemon/session wiring and keeps its object store under the active Soldr root at `cache/zccache/daemon-state/embedded-v1/<zccache-version>/objects`, so production and development roots remain isolated.
|
|
179
179
|
|
|
180
180
|
```bash
|
|
181
181
|
# Build through soldr's front door:
|
|
@@ -252,7 +252,10 @@ to stderr. Set `SOLDR_PEP517_STATS=off` to silence it; `SOLDR_PEP517_STATS=full`
|
|
|
252
252
|
statistics payload.
|
|
253
253
|
|
|
254
254
|
Soldr also caches the last successful wheel for each project/build mode under
|
|
255
|
-
|
|
255
|
+
`<effective-soldr-root>/pep517/wheels/`. The backend asks the selected soldr
|
|
256
|
+
binary for this root, so official (`.soldr`), development (`.soldr-dev`), and
|
|
257
|
+
custom roots remain separate even when `SOLDR_CACHE_DIR` was initially unset.
|
|
258
|
+
Before packaging it scans source and staged-artifact
|
|
256
259
|
metadata (relative path, size, and modification time); an unchanged tree
|
|
257
260
|
hardlinks the cached wheel into pip's requested output directory and skips
|
|
258
261
|
wheel rebuilding/compression. Set `SOLDR_PEP517_WHEEL_CACHE=off` to opt out.
|
|
@@ -379,7 +382,13 @@ If you also have many separate test binaries, consider consolidating them under
|
|
|
379
382
|
- **Front-door builds**: `soldr cargo ...` is the primary build UX.
|
|
380
383
|
- **Invisible caching**: `soldr cargo ...` uses a soldr-managed zccache by default, with `soldr --no-cache cargo ...` as the opt-out.
|
|
381
384
|
- **Real cache controls**: `soldr status`, `soldr cache`, and `soldr clean` report and manage the soldr-managed zccache state, while `soldr purge` removes all Soldr-managed cache artifacts for bug clearing and benchmarking.
|
|
382
|
-
- **One cache boundary**: soldr keeps its
|
|
385
|
+
- **One cache boundary**: official soldr keeps its tools and cache state under `~/.soldr/`; development builds use `~/.soldr-dev/`. Use `SOLDR_CACHE_DIR` to select an explicit root.
|
|
386
|
+
- **Bounded while idle**: the long-lived daemon owns only its selected root,
|
|
387
|
+
checks pressure every five minutes, expires old state daily, and installs no
|
|
388
|
+
OS scheduler. Embedded zccache defaults to 5% of the filesystem clamped to
|
|
389
|
+
40–200 GiB, becomes aggressive for entries older than four days near full,
|
|
390
|
+
and expires artifacts after 30 days. Production, development (`.soldr-dev`),
|
|
391
|
+
custom, and standalone `.zccache` roots never sweep one another.
|
|
383
392
|
- **Disposable-worktree friendly on Windows**: for build orchestration, soldr can relocate itself under `~/.soldr/runtime/soldr-self/` so `RUSTC_WRAPPER` does not keep using a worktree-local `soldr.exe`; stale runtime copies are cleaned up periodically.
|
|
384
393
|
- **Pre-built first**: Download a pre-built binary before compiling from source. Fall back gracefully.
|
|
385
394
|
- **Cargo-compatible**: soldr preserves normal cargo arguments instead of forcing a separate workflow.
|