@zackees/soldr 0.8.15 → 0.8.17

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
@@ -56,6 +56,10 @@ The npm package is a small launcher that downloads the matching `soldr` GitHub
56
56
  Release binary for your OS and architecture during install, verifies it against
57
57
  the published `SHA256SUMS` file, and exposes the `soldr` command.
58
58
 
59
+ Published npm archives and PyPI wheels support both Intel (`x86_64`) and Apple
60
+ Silicon (`arm64`) macOS. Intel artifacts are cross-built through soldr's
61
+ blessed Apple SDK path and smoke-tested on an Intel macOS runner before release.
62
+
59
63
  ## GitHub Actions setup
60
64
 
61
65
  The current GitHub Actions entry point is the public `setup-soldr` action:
@@ -129,7 +133,8 @@ soldr cargo build --target aarch64-pc-windows-msvc
129
133
  The canonical multi-platform GitHub Actions tutorial lives in [`zackees/setup-soldr#90`](https://github.com/zackees/setup-soldr/issues/90).
130
134
 
131
135
  For Windows x64 → Windows GNU builds via managed MinGW-w64 GCC, and Linux →
132
- Windows MSVC cross-compilation via `cargo-xwin`,
136
+ Windows MSVC cross-compilation via the blessed `soldr build` surface (with
137
+ `soldr cargo xwin` retained as an explicit legacy fallback),
133
138
  see [docs/CROSS_COMPILE.md](./docs/CROSS_COMPILE.md).
134
139
 
135
140
  ### CI cache lineage
@@ -10,14 +10,14 @@
10
10
  },
11
11
  "validation_commands": [
12
12
  {
13
- "id": "rust-contract-matrix",
13
+ "id": "rust-embedded-runtime-topology",
14
14
  "gate": "hard",
15
- "command": "soldr --no-cache cargo test -p soldr-cli --test cli_zccache_contract_matrix --locked"
15
+ "command": "soldr --no-cache cargo test -p soldr-cli --test no_standalone_spawn_lint --locked"
16
16
  },
17
17
  {
18
- "id": "rust-source-resolution",
18
+ "id": "rust-zccache-entry",
19
19
  "gate": "hard",
20
- "command": "soldr --no-cache cargo test -p soldr-cli --test cli_install_zccache_resolution --locked"
20
+ "command": "soldr --no-cache cargo test -p soldr-cli --test zccache_trampoline_gate --locked"
21
21
  },
22
22
  {
23
23
  "id": "rust-wrapper-env",
@@ -25,14 +25,24 @@
25
25
  "command": "soldr --no-cache cargo test -p soldr-cli --test cli_cargo_wrappers --locked"
26
26
  },
27
27
  {
28
- "id": "rust-native-cache-unit",
28
+ "id": "rust-rust-plan",
29
+ "gate": "hard",
30
+ "command": "soldr --no-cache cargo test -p soldr-cli --test cli_rust_plan --locked"
31
+ },
32
+ {
33
+ "id": "rust-cache-cli",
29
34
  "gate": "hard",
30
- "command": "soldr --no-cache cargo test -p soldr-cli --bin soldr --locked native_cc::tests"
35
+ "command": "soldr --no-cache cargo test -p soldr-cli --test cli_cache --locked"
31
36
  },
32
37
  {
33
- "id": "rust-unknown-session-retry",
38
+ "id": "rust-cache-session",
39
+ "gate": "hard",
40
+ "command": "soldr --no-cache cargo test -p soldr-cli --lib --locked cache::session::tests"
41
+ },
42
+ {
43
+ "id": "rust-native-cache-unit",
34
44
  "gate": "hard",
35
- "command": "soldr --no-cache cargo test -p soldr-cli --test cli_unknown_session_retry --locked"
45
+ "command": "soldr --no-cache cargo test -p soldr-cli --lib --locked native_cc::tests"
36
46
  },
37
47
  {
38
48
  "id": "rust-native-cache-integration",
@@ -52,7 +62,7 @@
52
62
  {
53
63
  "id": "python-setup-contracts",
54
64
  "gate": "hard",
55
- "command": "uv run pytest tests/test_zccache_integration_guardrails.py tests/test_zccache_runtime_contract.py tests/test_setup_soldr_action.py tests/test_setup_soldr_exporter.py tests/test_setup_soldr_ensure_soldr.py -q"
65
+ "command": "uv run --no-sync pytest tests/test_zccache_integration_guardrails.py tests/test_zccache_runtime_contract.py tests/test_setup_soldr_action.py tests/test_setup_soldr_exporter.py tests/test_setup_soldr_ensure_soldr.py -q"
56
66
  },
57
67
  {
58
68
  "id": "node-npm-contract",
@@ -72,46 +82,46 @@
72
82
  ],
73
83
  "guardrails": [
74
84
  {
75
- "id": "source-precedence",
76
- "axis": "source resolution",
85
+ "id": "embedded-runtime-topology",
86
+ "axis": "embedded runtime topology",
77
87
  "gate": "hard",
78
88
  "covers": [
79
- "SOLDR_TEST_ZCCACHE_BIN override",
80
- "embedded soldr/soldr-daemon runtime",
81
- "managed cache directory selection",
82
- "system fallback diagnostics"
89
+ "zccache compile service stays embedded in soldr-daemon",
90
+ "soldr zccache uses the gated in-process entry point",
91
+ "standalone zccache-daemon spawn paths remain unreachable",
92
+ "runtime packaging declares no standalone zccache binaries"
83
93
  ],
84
94
  "test_files": [
85
- "crates/soldr-cli/tests/cli_install_zccache_resolution.rs",
86
- "crates/soldr-cli/src/fetch/zccache_contract_tests.rs",
95
+ "crates/soldr-cli/tests/no_standalone_spawn_lint.rs",
96
+ "crates/soldr-cli/tests/zccache_trampoline_gate.rs",
97
+ "contracts/zccache-runtime.v1.json",
87
98
  "tests/test_zccache_runtime_contract.py"
88
99
  ],
89
100
  "validation_command_ids": [
90
- "rust-source-resolution",
101
+ "rust-embedded-runtime-topology",
102
+ "rust-zccache-entry",
91
103
  "python-setup-contracts"
92
104
  ]
93
105
  },
94
106
  {
95
- "id": "managed-session-env",
96
- "axis": "session lifecycle and child env",
107
+ "id": "embedded-session-env",
108
+ "axis": "embedded session lifecycle and child env",
97
109
  "gate": "hard",
98
110
  "covers": [
99
- "zccache start",
100
- "session-start",
101
- "ZCCACHE_SESSION_ID propagation",
102
- "ZCCACHE_CACHE_DIR propagation",
111
+ "RUSTC_WRAPPER routes through soldr",
112
+ "legacy external zccache binary and session env is cleared",
103
113
  "ZCCACHE_PATH_REMAP propagation",
104
114
  "ZCCACHE_WORKTREE_ROOT propagation",
105
- "session-end stats"
115
+ "embedded compile-stat session baselines and summaries"
106
116
  ],
107
117
  "test_files": [
108
- "crates/soldr-cli/tests/cli_zccache_contract_matrix.rs",
109
- "crates/soldr-cli/tests/cli_cargo_basic.rs",
110
- "crates/soldr-cli/src/cargo_front_door/cache_plan.rs"
118
+ "crates/soldr-cli/tests/cli_cargo_wrappers.rs",
119
+ "crates/soldr-cli/src/cargo_front_door/cache_plan.rs",
120
+ "crates/soldr-cli/src/cache/session.rs"
111
121
  ],
112
122
  "validation_command_ids": [
113
- "rust-contract-matrix",
114
- "rust-wrapper-env"
123
+ "rust-wrapper-env",
124
+ "rust-cache-session"
115
125
  ]
116
126
  },
117
127
  {
@@ -119,19 +129,19 @@
119
129
  "axis": "rust artifact plan",
120
130
  "gate": "hard",
121
131
  "covers": [
122
- "restore before cargo",
123
- "save after cargo",
124
- "managed daemon cache dir",
132
+ "in-process restore before cargo",
133
+ "in-process save after cargo",
125
134
  "artifact bundle cache dir",
126
- "partial restore warning"
135
+ "partial restore warning",
136
+ "embedded compile counts drive warm-save decisions"
127
137
  ],
128
138
  "test_files": [
129
- "crates/soldr-cli/tests/cli_zccache_contract_matrix.rs",
130
139
  "crates/soldr-cli/tests/cli_rust_plan.rs",
131
- "crates/soldr-cli/src/rust_plan_tests"
140
+ "crates/soldr-cli/src/rust_plan_tests",
141
+ "crates/soldr-cli/src/cargo_front_door/cache_plan.rs"
132
142
  ],
133
143
  "validation_command_ids": [
134
- "rust-contract-matrix"
144
+ "rust-rust-plan"
135
145
  ]
136
146
  },
137
147
  {
@@ -139,58 +149,36 @@
139
149
  "axis": "cache scoping",
140
150
  "gate": "hard",
141
151
  "covers": [
142
- "--no-cache build bypasses managed zccache",
143
- "non-build cargo commands bypass managed zccache",
152
+ "--no-cache build bypasses the embedded compile service",
153
+ "non-build cargo commands preserve the documented wrapper policy",
144
154
  "SOLDR_CACHE_ENABLED=0 reaches cargo"
145
155
  ],
146
156
  "test_files": [
147
- "crates/soldr-cli/tests/cli_zccache_contract_matrix.rs",
148
- "crates/soldr-cli/tests/cli_cargo_wrappers.rs"
157
+ "crates/soldr-cli/tests/cli_cargo_wrappers.rs",
158
+ "crates/soldr-cli/src/cargo_front_door/cache_plan.rs"
149
159
  ],
150
160
  "validation_command_ids": [
151
- "rust-contract-matrix",
152
161
  "rust-wrapper-env"
153
162
  ]
154
163
  },
155
164
  {
156
- "id": "unknown-session-retry",
157
- "axis": "wrapper recovery",
158
- "gate": "hard",
159
- "platforms": [
160
- "windows"
161
- ],
162
- "covers": [
163
- "one retry after zccache unknown session",
164
- "fresh session allocation for retry",
165
- "non-session errors do not retry"
166
- ],
167
- "test_files": [
168
- "crates/soldr-cli/tests/cli_unknown_session_retry.rs",
169
- "crates/soldr-cli/src/wrapper.rs",
170
- "crates/soldr-cli/src/zccache_lifecycle.rs"
171
- ],
172
- "validation_command_ids": [
173
- "rust-unknown-session-retry",
174
- "rust-watchdog-lint"
175
- ]
176
- },
177
- {
178
- "id": "shutdown-scoping",
179
- "axis": "daemon shutdown",
165
+ "id": "embedded-flush-shutdown",
166
+ "axis": "embedded cache flush and shutdown",
180
167
  "gate": "hard",
181
168
  "covers": [
182
- "command-lifetime stop after session-end",
183
- "failed cargo still shuts down",
184
- "shutdown uses soldr-owned cache root",
185
- "daemon-down diagnostics"
169
+ "command-lifetime durability uses embedded flush",
170
+ "session summaries are finalized from embedded compile stats",
171
+ "cache shutdown targets soldr-daemon",
172
+ "daemon-down diagnostics remain bounded"
186
173
  ],
187
174
  "test_files": [
188
- "crates/soldr-cli/tests/cli_zccache_contract_matrix.rs",
189
175
  "crates/soldr-cli/tests/cli_cache.rs",
190
- "crates/soldr-cli/tests/cli_cargo_basic.rs"
176
+ "crates/soldr-cli/src/cache/session.rs",
177
+ "crates/soldr-cli/src/cargo_front_door/cache_plan.rs"
191
178
  ],
192
179
  "validation_command_ids": [
193
- "rust-contract-matrix"
180
+ "rust-cache-cli",
181
+ "rust-cache-session"
194
182
  ]
195
183
  },
196
184
  {
@@ -223,7 +211,7 @@
223
211
  "embedded zccache runtime",
224
212
  "crgx binary",
225
213
  "setup-soldr manifest validation",
226
- "npm bundled contract files"
214
+ "npm exported contract files"
227
215
  ],
228
216
  "test_files": [
229
217
  "contracts/zccache-runtime.v1.json",
@@ -254,6 +242,7 @@
254
242
  ],
255
243
  "validation_command_ids": [
256
244
  "rust-wrapper-env",
245
+ "rust-wrapper-perf",
257
246
  "perf-cold-warm"
258
247
  ]
259
248
  },
@@ -331,18 +320,20 @@
331
320
  "axis": "test ownership",
332
321
  "gate": "hard",
333
322
  "covers": [
334
- "new zccache integration tests live outside monolithic source modules",
335
- "new tests use timed_test watchdog",
336
- "wave-specific contract tests remain discoverable"
323
+ "zccache integration tests live outside monolithic source modules",
324
+ "new tests use the timed_test watchdog",
325
+ "embedded-runtime contract tests remain discoverable"
337
326
  ],
338
327
  "test_files": [
339
328
  "crates/soldr-cli/tests/timed_test_lint.rs",
340
- "crates/soldr-cli/src/fetch/zccache_contract_tests.rs",
341
- "crates/soldr-cli/src/cargo_front_door/cache_plan.rs",
342
- "crates/soldr-cli/src/zccache_lifecycle.rs"
329
+ "crates/soldr-cli/tests/no_standalone_spawn_lint.rs",
330
+ "crates/soldr-cli/tests/zccache_trampoline_gate.rs",
331
+ "crates/soldr-cli/src/cargo_front_door/cache_plan.rs"
343
332
  ],
344
333
  "validation_command_ids": [
345
- "rust-watchdog-lint"
334
+ "rust-watchdog-lint",
335
+ "rust-embedded-runtime-topology",
336
+ "rust-zccache-entry"
346
337
  ]
347
338
  }
348
339
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zackees/soldr",
3
- "version": "0.8.15",
3
+ "version": "0.8.17",
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",
@@ -26,16 +26,12 @@ const TARGETS = {
26
26
  "linux-x64-musl": { triple: "x86_64-unknown-linux-musl", binary: "soldr" },
27
27
  "linux-arm64-gnu": { triple: "aarch64-unknown-linux-gnu", binary: "soldr" },
28
28
  "linux-arm64-musl": { triple: "aarch64-unknown-linux-musl", binary: "soldr" },
29
+ "darwin-x64": { triple: "x86_64-apple-darwin", binary: "soldr" },
29
30
  "darwin-arm64": { triple: "aarch64-apple-darwin", binary: "soldr" },
30
31
  "win32-x64": { triple: "x86_64-pc-windows-msvc", binary: "soldr.exe" },
31
32
  "win32-arm64": { triple: "aarch64-pc-windows-msvc", binary: "soldr.exe" },
32
33
  };
33
34
 
34
- const UNSUPPORTED_TARGETS = {
35
- "darwin-x64":
36
- "x86_64-apple-darwin release archives are intentionally not published; install from PyPI sdist or build from source",
37
- };
38
-
39
35
  // Files we expect to find at the root of every extracted release
40
36
  // archive. Names line up with what `release-auto.yml`'s
41
37
  // `Stage soldr release binaries`, `Build crgx from pinned source`, and
@@ -90,8 +86,7 @@ function platformTarget(platform = process.platform, arch = process.arch, libc =
90
86
  : `${platform}-${arch}`;
91
87
  const target = TARGETS[key];
92
88
  if (!target) {
93
- const detail = UNSUPPORTED_TARGETS[key] ? `: ${UNSUPPORTED_TARGETS[key]}` : "";
94
- throw new Error(`unsupported platform for soldr npm package: ${key}${detail}`);
89
+ throw new Error(`unsupported platform for soldr npm package: ${key}`);
95
90
  }
96
91
  return target;
97
92
  }
@@ -100,10 +100,7 @@ assert.strictEqual(
100
100
  // Default (no libc arg) falls back to detectLibc; on most CI hosts that's
101
101
  // gnu. We don't assert the triple here — just that the call resolves.
102
102
  assert.ok(install.platformTarget("linux", "x64").triple.startsWith("x86_64-unknown-linux-"));
103
- assert.throws(
104
- () => install.platformTarget("darwin", "x64"),
105
- /x86_64-apple-darwin release archives are intentionally not published/,
106
- );
103
+ assert.strictEqual(install.platformTarget("darwin", "x64").triple, "x86_64-apple-darwin");
107
104
  assert.strictEqual(install.platformTarget("darwin", "arm64").triple, "aarch64-apple-darwin");
108
105
  assert.strictEqual(install.platformTarget("win32", "x64").triple, "x86_64-pc-windows-msvc");
109
106
  assert.strictEqual(install.platformTarget("win32", "arm64").triple, "aarch64-pc-windows-msvc");