@zackees/soldr 0.8.44 → 0.9.1

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 CHANGED
@@ -1,12 +1,13 @@
1
1
  # Soldr / Rust
2
2
 
3
3
 
4
+
4
5
  <img width="1536" height="1024" alt="ChatGPT Image Apr 19, 2026, 09_43_32 PM" src="https://github.com/user-attachments/assets/87d94693-3542-4f4f-8b02-600bf0b9810e" />
5
6
 
7
+ *Beta software, please pin*
6
8
 
7
9
  *A tool to download rust tool sets and aggressive cache your build. **2× faster cross-PR builds** via content-addressed caching that swatinem's per-key cache cannot share. GH and local builds. Just add soldr before all your build commands.*
8
10
 
9
- Third-party comparison (soldr vs Swatinem/rust-cache vs ...): published from `zackees/setup-soldr` — see its `comparison-cluster` workflow and the rendered page once the migration in soldr#674 completes. The legacy `https://zackees.github.io/soldr/` page is being repurposed for soldr-internal per-scenario regression history (no third-party comparison surface lives on this repo anymore).
10
11
 
11
12
  [![CI](https://github.com/zackees/soldr/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/zackees/soldr/actions/workflows/ci.yml)
12
13
  [![Autonomous Release](https://github.com/zackees/soldr/actions/workflows/release-auto.yml/badge.svg?branch=main)](https://github.com/zackees/soldr/actions/workflows/release-auto.yml)
@@ -69,8 +70,8 @@ The current GitHub Actions entry point is the public `setup-soldr` action:
69
70
  with:
70
71
  cache: true
71
72
 
72
- - run: soldr cargo build --locked --release
73
- - run: soldr cargo test --locked
73
+ - run: soldr cargo build --release
74
+ - run: soldr cargo test
74
75
  ```
75
76
 
76
77
  That action:
@@ -90,8 +91,8 @@ For existing workflows where rewriting every `cargo ...` command is high-frictio
90
91
  with:
91
92
  tool-shims: cargo
92
93
 
93
- - run: cargo build --locked --release
94
- - run: cargo test --locked
94
+ - run: cargo build --release
95
+ - run: cargo test
95
96
  ```
96
97
 
97
98
  The shim mode is off by default. When enabled, the action resolves the real Cargo binary before prepending its shim directory, then exports that real path for Soldr so `cargo ...` can safely trampoline into `soldr cargo ...` without recursive PATH lookup.
@@ -114,7 +115,7 @@ Two equivalent ways to declare a cross target: declaratively via `rust-toolchain
114
115
  ```toml
115
116
  # rust-toolchain.toml — declarative (preferred)
116
117
  [toolchain]
117
- channel = "1.94.1"
118
+ channel = "1.95.0"
118
119
  targets = ["aarch64-pc-windows-msvc"]
119
120
  ```
120
121
 
@@ -187,7 +188,6 @@ If soldr solves that one problem well, it becomes a super tool: the command you
187
188
  # Build through soldr's front door:
188
189
  soldr cargo build --release
189
190
  soldr cargo test
190
- soldr --no-cache cargo test
191
191
  soldr purge
192
192
  SOLDR_RUSTC_WRAPPER=sccache soldr cargo build
193
193
  SOLDR_RUSTC_WRAPPER=none soldr cargo build
@@ -215,6 +215,32 @@ formatter because Cargo's explicit crate-root argv does not include child
215
215
  modules that rustfmt discovers itself. A content-marker shortcut is used only
216
216
  for invocations that explicitly set `skip_children=true`.
217
217
 
218
+ ## Compile C and C++ directly
219
+
220
+ `soldr cc` and `soldr c++` expose the same catalogue-backed compilers and
221
+ sysroots used by blessed Rust cross-builds. GNU/Linux defaults to the pinned
222
+ glibc 2.17 toolchain:
223
+
224
+ ```bash
225
+ soldr cc --target x86_64-linux-gnu.2.17 hello.c -o hello
226
+ ./hello
227
+ ```
228
+
229
+ CMake accepts the command plus its required target arguments through `CC` and
230
+ `CXX`:
231
+
232
+ ```bash
233
+ CC="soldr cc --target x86_64-linux-gnu.2.17" \
234
+ CXX="soldr c++ --target x86_64-linux-gnu.2.17" \
235
+ cmake -S . -B build
236
+ cmake --build build
237
+ ```
238
+
239
+ Omit `--target` to select the host triple. The first standalone slice supports
240
+ the catalogue GNU/Linux and musl/Linux targets plus
241
+ `x86_64-pc-windows-gnu`. External build tooling can query the prepared tool
242
+ paths with `--print-cc`, `--print-cxx`, `--print-ar`, and `--print-linker`.
243
+
218
244
  ## Use soldr as your PEP 517 build backend (instead of maturin)
219
245
 
220
246
  For Rust+Python packages, point `pyproject.toml` at soldr instead of
@@ -404,7 +430,7 @@ If you also have many separate test binaries, consider consolidating them under
404
430
 
405
431
  - **One obvious command**: Fetch tools, pick the right Windows target, and run through Soldr's embedded zccache service through the same entry point.
406
432
  - **Front-door builds**: `soldr cargo ...` is the primary build UX.
407
- - **Invisible caching**: `soldr cargo ...` uses the zccache service embedded in `soldr-daemon` by default, with `soldr --no-cache cargo ...` as the opt-out.
433
+ - **Broker-owned caching**: `soldr cargo ...` uses the zccache service embedded in a broker-placed `soldr-daemon`; cacheable compiler work has one mandatory route.
408
434
  - **Real cache controls**: `soldr status`, `soldr cache`, and `soldr clean` report and manage embedded-zccache state, while `soldr purge` removes all Soldr-managed cache artifacts for bug clearing and benchmarking.
409
435
  - **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.
410
436
  - **Bounded while idle**: the long-lived daemon owns only its selected root,
@@ -437,7 +463,7 @@ soldr/
437
463
 
438
464
  | Crate | Role |
439
465
  |---|---|
440
- | `soldr-core` | Shared types, config (`~/.soldr/config.toml`), target-triple resolution (MSVC default on Windows), the daemon wire schema, error types, the `timed_test!` watchdog. No I/O beyond config files. |
466
+ | `soldr-core` | Shared types, config (`~/.soldr/config.toml`), target-triple resolution (MSVC default on Windows), the daemon wire schema, error types. No I/O beyond config files. |
441
467
  | `soldr-fetch` | Binary resolution. `known_tools` registry, `trust` (SHA-256 pins + `SOLDR_TRUST_MODE` enforcement), rustup auto-bootstrap, resolution chain (local cache → repo lookup → GitHub Releases → extract). |
442
468
  | `soldr-cache` | `RUSTC_WRAPPER` mode: hash inputs (blake3), check `~/.soldr/cache/`, daemon IPC (Unix socket / Windows named pipe), LRU eviction, `soldr save` / `soldr load` archive transport, auto-GC. |
443
469
  | `soldr-daemon` | Daemon lifecycle (spawn/displacement/relocation), IPC server, wire codec, and the embedded zccache service. Depends on `soldr-core` + `soldr-cache`. |
@@ -12,52 +12,52 @@
12
12
  {
13
13
  "id": "rust-embedded-runtime-topology",
14
14
  "gate": "hard",
15
- "command": "soldr --no-cache cargo test -p soldr-cli --test no_standalone_spawn_lint --locked"
15
+ "command": "soldr --no-cache cargo nextest run -p soldr-cli --test no_standalone_spawn_lint"
16
16
  },
17
17
  {
18
18
  "id": "rust-zccache-entry",
19
19
  "gate": "hard",
20
- "command": "soldr --no-cache cargo test -p soldr-cli --test zccache_trampoline_gate --locked"
20
+ "command": "soldr --no-cache cargo nextest run -p soldr-cli --test zccache_trampoline_gate"
21
21
  },
22
22
  {
23
23
  "id": "rust-wrapper-env",
24
24
  "gate": "hard",
25
- "command": "soldr --no-cache cargo test -p soldr-cli --test cli_cargo_wrappers --locked"
25
+ "command": "soldr --no-cache cargo nextest run -p soldr-cli --test cli_cargo_wrappers"
26
26
  },
27
27
  {
28
28
  "id": "rust-rust-plan",
29
29
  "gate": "hard",
30
- "command": "soldr --no-cache cargo test -p soldr-cli --test cli_rust_plan --locked"
30
+ "command": "soldr --no-cache cargo nextest run -p soldr-cli --test cli_rust_plan"
31
31
  },
32
32
  {
33
33
  "id": "rust-cache-cli",
34
34
  "gate": "hard",
35
- "command": "soldr --no-cache cargo test -p soldr-cli --test cli_cache --locked"
35
+ "command": "soldr --no-cache cargo nextest run -p soldr-cli --test cli_cache"
36
36
  },
37
37
  {
38
38
  "id": "rust-cache-session",
39
39
  "gate": "hard",
40
- "command": "soldr --no-cache cargo test -p soldr-cli --lib --locked cache::session::tests"
40
+ "command": "soldr --no-cache cargo nextest run -p soldr-cli --lib cache::session::tests"
41
41
  },
42
42
  {
43
43
  "id": "rust-native-cache-unit",
44
44
  "gate": "hard",
45
- "command": "soldr --no-cache cargo test -p soldr-cli --lib --locked native_cc::tests"
45
+ "command": "soldr --no-cache cargo nextest run -p soldr-cli --lib native_cc::tests"
46
46
  },
47
47
  {
48
48
  "id": "rust-native-cache-integration",
49
49
  "gate": "hard",
50
- "command": "soldr --no-cache cargo test -p soldr-cli --test cli_cargo_native_cc --locked"
50
+ "command": "soldr --no-cache cargo nextest run -p soldr-cli --test cli_cargo_native_cc"
51
51
  },
52
52
  {
53
53
  "id": "rust-wrapper-perf",
54
54
  "gate": "hard",
55
- "command": "soldr --no-cache cargo test -p soldr-cli --test cli_wrapper_perf --locked"
55
+ "command": "soldr --no-cache cargo nextest run -p soldr-cli --test cli_wrapper_perf"
56
56
  },
57
57
  {
58
58
  "id": "rust-watchdog-lint",
59
59
  "gate": "hard",
60
- "command": "soldr --no-cache cargo test -p soldr-cli --test timed_test_lint --locked"
60
+ "command": "soldr --no-cache cargo nextest run -p soldr-cli --test no_timed_test_guard"
61
61
  },
62
62
  {
63
63
  "id": "python-setup-contracts",
@@ -321,11 +321,11 @@
321
321
  "gate": "hard",
322
322
  "covers": [
323
323
  "zccache integration tests live outside monolithic source modules",
324
- "new tests use the timed_test watchdog",
324
+ "the removed per-test watchdog does not return (timeouts belong to nextest)",
325
325
  "embedded-runtime contract tests remain discoverable"
326
326
  ],
327
327
  "test_files": [
328
- "crates/soldr-cli/tests/timed_test_lint.rs",
328
+ "crates/soldr-cli/tests/no_timed_test_guard.rs",
329
329
  "crates/soldr-cli/tests/no_standalone_spawn_lint.rs",
330
330
  "crates/soldr-cli/tests/zccache_trampoline_gate.rs",
331
331
  "crates/soldr-cli/src/cargo_front_door/cache_plan.rs"
@@ -37,7 +37,9 @@
37
37
  "manifest_block": "cargo_chef"
38
38
  },
39
39
  "maturin": {
40
- "managed_version": "1.14.1",
40
+ "managed_version": "1.14.1.post1",
41
+ "pypi_package": "soldr-maturin",
42
+ "repository": "zackees/soldr-maturin",
41
43
  "required_binaries": [
42
44
  "maturin"
43
45
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zackees/soldr",
3
- "version": "0.8.44",
3
+ "version": "0.9.1",
4
4
  "description": "Instant Rust tools and builds from one command.",
5
5
  "license": "BSD-3-Clause",
6
6
  "homepage": "https://github.com/zackees/soldr",