@zackees/soldr 0.9.11 → 0.9.12

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
@@ -46,20 +46,90 @@ Current release line:
46
46
  - the supported external integration boundary remains the `soldr` executable, not the internal Rust crates; see [docs/API_BOUNDARY.md](./docs/API_BOUNDARY.md)
47
47
  - practical integration examples for local builds and GitHub Actions live in [INTEGRATION.md](./INTEGRATION.md)
48
48
 
49
- ## Install from npm
49
+ ## Quick start
50
50
 
51
51
  ```bash
52
- npm install -g @zackees/soldr
53
- soldr --version
52
+ # 1. Install or upgrade (same command)
53
+ uv tool install --upgrade soldr
54
+
55
+ # 2. Put `soldr` in front of every Rust command
56
+ soldr cargo build --release
57
+ soldr cargo test
58
+ soldr cargo clippy --workspace
59
+
60
+ # 3. See what the cache is doing
61
+ soldr status
54
62
  ```
55
63
 
56
- The npm package is a small launcher that downloads the matching `soldr` GitHub
57
- Release binary for your OS and architecture during install, verifies it against
58
- the published `SHA256SUMS` file, and exposes the `soldr` command.
64
+ That is the whole integration. The first cacheable compile starts the
65
+ `soldr-daemon` sidecar, pins the toolchain from `rust-toolchain.toml`, and
66
+ every later build on any branch or worktree hits the shared cache.
67
+
68
+ <details>
69
+ <summary><b>Command reference</b></summary>
70
+
71
+ ### Everyday
72
+
73
+ | Command | What it does |
74
+ |---|---|
75
+ | `soldr cargo <args>` | Run cargo through the cache with the pinned toolchain |
76
+ | `soldr build --target <triple\|alias>` | Blessed cross-compile with a managed SDK (`win-x64`, `mac-arm64`, `linux-x64-musl`, ...) |
77
+ | `soldr cc` / `soldr c++` | Compile C / C++ with a catalogue-backed toolchain |
78
+ | `soldr lint` | Unified Rust and dependency lint suites |
79
+ | `soldr ci-test` | The prescribed host-validation DAG used in CI |
80
+ | `soldr <tool>` | Fetch and run a pre-built ecosystem tool: `nextest`, `deny`, `audit`, `mdbook`, `just`, ... |
81
+
82
+ ### Toolchain
83
+
84
+ | Command | What it does |
85
+ |---|---|
86
+ | `soldr rustc`, `rustfmt`, `clippy-driver`, `rustdoc` | Pinned-toolchain passthroughs |
87
+ | `soldr rustup <args>` | Passthrough to rustup, toolchain-aware |
88
+ | `soldr toolchain ensure` | Bootstrap rustup, install the pinned channel, components, and targets |
89
+ | `soldr toolchain link --shim-dir <dir>` | Write PATH shims that re-enter soldr |
90
+ | `soldr doctor` | Report drift between `rust-toolchain.toml` and rustup |
91
+ | `soldr rust-analyzer`, `rust-gdb`, `rust-lldb` | Language server and debuggers |
92
+
93
+ ### Cache
94
+
95
+ | Command | What it does |
96
+ |---|---|
97
+ | `soldr status` | Cache status and active toolchain |
98
+ | `soldr cache` | Inspect compilation cache entries |
99
+ | `soldr cook` | Prebuild dependencies via bundled cargo-chef |
100
+ | `soldr save` / `soldr load` | Bundle a build cache to `.tar.zst` and restore it on a fresh checkout |
101
+ | `soldr gc` | Review reclaimable cargo `target/` directories |
102
+ | `soldr clean` / `soldr purge` | Clear the build cache / purge every soldr-managed artifact |
103
+ | `soldr config` | Show or set configuration in `~/.soldr/config.toml` |
104
+
105
+ ### Ops
106
+
107
+ | Command | What it does |
108
+ |---|---|
109
+ | `soldr daemon start\|stop` | Manage the long-lived `soldr-daemon` process |
110
+ | `soldr optimize` | Platform-specific hot-cache tuning |
111
+ | `soldr defender-exclusions` | Manage Windows Defender exclusions for soldr caches |
112
+ | `soldr help <command>` | Full help for any command |
113
+
114
+ </details>
115
+
116
+ Also on npm as `@zackees/soldr`: a small launcher that downloads the matching
117
+ GitHub Release binary during install and verifies it against the published
118
+ `SHA256SUMS` file.
59
119
 
60
120
  Published npm archives and PyPI wheels support both Intel (`x86_64`) and Apple
61
- Silicon (`arm64`) macOS. Intel artifacts are cross-built through soldr's
62
- blessed Apple SDK path and smoke-tested on an Intel macOS runner before release.
121
+ Silicon (`arm64`) macOS. Both are cross-built through soldr's blessed Apple
122
+ SDK path on Linux; Intel artifacts are then smoke-tested inside a
123
+ [zackees/docker-mac-x64](https://github.com/zackees/docker-mac-x64) macOS
124
+ Recovery guest hosted on an ordinary Linux runner before release (no GitHub
125
+ Actions job runs on a native macOS runner). The same Recovery guest also
126
+ replays the real `x86_64-apple-darwin` nextest archive -- toolchain
127
+ provisioning included -- on every pull request and again at the release
128
+ commit before publish, so Intel macOS gets the same positively-owned native
129
+ test coverage every other cross-built target gets, without a native macOS
130
+ runner anywhere in the pipeline. Apple Silicon artifacts are cross-built the
131
+ same way but are not executed anywhere in CI until a follow-up issue
132
+ re-enables that before release.
63
133
 
64
134
  ## GitHub Actions setup
65
135
 
@@ -76,6 +146,8 @@ The current GitHub Actions entry point is the public `setup-soldr` action:
76
146
 
77
147
  That action:
78
148
 
149
+ > **Deprecated (soldr#2996).** soldr no longer implements a target cache, so the `target-cache` / `target-cache-mode` / `target-dir` inputs and the `target-cache-hit` / `target-cache-mode` outputs are inert: nothing on the soldr side reads the environment they export. They remain listed because the pinned action still declares them; retiring the inputs themselves is an upstream change. Use `soldr cook`, which is the only durable compiler cache.
150
+
79
151
  - installs `soldr`
80
152
  - bootstraps `rustup` into the cached runner-local root when the runner does not already have it
81
153
  - preinstalls the exact Rust toolchain from `rust-toolchain.toml` by default via `rustup`
@@ -24,11 +24,6 @@
24
24
  "gate": "hard",
25
25
  "command": "soldr --no-cache cargo nextest run -p soldr-cli --test cargo_front_door -E 'test(/^cli_cargo_wrappers::/)'"
26
26
  },
27
- {
28
- "id": "rust-rust-plan",
29
- "gate": "hard",
30
- "command": "soldr --no-cache cargo nextest run -p soldr-cli --test cargo_front_door -E 'test(/^cli_rust_plan::/)'"
31
- },
32
27
  {
33
28
  "id": "rust-cache-cli",
34
29
  "gate": "hard",
@@ -124,26 +119,6 @@
124
119
  "rust-cache-session"
125
120
  ]
126
121
  },
127
- {
128
- "id": "rust-plan-cache",
129
- "axis": "rust artifact plan",
130
- "gate": "hard",
131
- "covers": [
132
- "in-process restore before cargo",
133
- "in-process save after cargo",
134
- "artifact bundle cache dir",
135
- "partial restore warning",
136
- "embedded compile counts drive warm-save decisions"
137
- ],
138
- "test_files": [
139
- "crates/soldr-cli/tests/cargo_front_door/cli_rust_plan.rs",
140
- "crates/soldr-cli/src/rust_plan_tests",
141
- "crates/soldr-cli/src/cargo_front_door/cache_plan.rs"
142
- ],
143
- "validation_command_ids": [
144
- "rust-rust-plan"
145
- ]
146
- },
147
122
  {
148
123
  "id": "disabled-and-non-build",
149
124
  "axis": "cache scoping",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zackees/soldr",
3
- "version": "0.9.11",
3
+ "version": "0.9.12",
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",