crossbind 2.0.0-beta.50 → 2.0.0-beta.51
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/CHANGELOG.md +11 -0
- package/package.json +1 -1
- package/src/actions/run.js +3 -1
- package/vitest.config.js +17 -11
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# crossbind
|
|
2
2
|
|
|
3
|
+
## 2.0.0-beta.51
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- **Android builds work on Apple Silicon again.** Google ships the linux NDK host tools for x86_64
|
|
8
|
+
only, so the android toolchain image is amd64-only and its multi-arch index carries no arm64 leaf.
|
|
9
|
+
Three call sites asked docker for that image by the leaf ref; the pull that runs before bridge
|
|
10
|
+
generation asked for the index instead, and on an arm64 host docker answered "no matching manifest
|
|
11
|
+
for linux/arm64/v8". Machines that already had the image cached never noticed, which is why this
|
|
12
|
+
reached beta.50 - a fresh install on an Apple Silicon Mac could not build for android at all.
|
|
13
|
+
|
|
3
14
|
## 2.0.0-beta.50
|
|
4
15
|
|
|
5
16
|
### Major Changes
|
package/package.json
CHANGED
package/src/actions/run.js
CHANGED
|
@@ -91,7 +91,9 @@ export default function run(program, params = [], platformPrefix = null, target
|
|
|
91
91
|
// wasi is host-run only with a locally configured wasi-sdk; otherwise docker carries it.
|
|
92
92
|
const wasiHostSdk = target?.platform === 'wasi' ? resolveWasiSdkPath(state.config.system) : null;
|
|
93
93
|
if ((target?.platform !== 'ios' && !(target?.platform === 'wasi' && wasiHostSdk)) || program !== null) {
|
|
94
|
-
|
|
94
|
+
// Google ships the linux NDK for x86_64 only, so the android index carries no arm64 leaf;
|
|
95
|
+
// pull its amd64 leaf by ref or an arm64 host finds no matching manifest.
|
|
96
|
+
pullDockerImage(imageRoleFor(target), target?.platform === 'android' ? 'linux/amd64' : undefined);
|
|
95
97
|
}
|
|
96
98
|
|
|
97
99
|
let dProgram = program;
|
package/vitest.config.js
CHANGED
|
@@ -15,25 +15,31 @@ export default defineConfig({
|
|
|
15
15
|
coverage: {
|
|
16
16
|
provider: 'v8',
|
|
17
17
|
reporter: ['text', 'html'],
|
|
18
|
-
//
|
|
19
|
-
//
|
|
20
|
-
//
|
|
21
|
-
//
|
|
22
|
-
|
|
18
|
+
// src/actions/ used to be excluded on the grounds that it only shells out to
|
|
19
|
+
// docker/emcc/cargo, so a test there would pin a command line rather than behaviour,
|
|
20
|
+
// and that the e2e suites already covered it. 2.0.0-beta.50 disproved the second half:
|
|
21
|
+
// one call site asked docker for an image ref that does not exist on arm64, no e2e
|
|
22
|
+
// exercised a machine without that image already cached, and android builds shipped
|
|
23
|
+
// broken to every Apple Silicon user. Which command line these actions build IS the
|
|
24
|
+
// behaviour, so the layer is measured.
|
|
25
|
+
include: ['src/utils/**/*.js', 'src/state/**/*.js', 'src/assets/**/*.js', 'src/actions/**/*.js'],
|
|
23
26
|
all: true,
|
|
24
27
|
// A floor with a one-point band, not a ratchet. Coverage is not identical across
|
|
25
28
|
// environments - resolveEmbindRust walks the real node_modules layout, so which of its
|
|
26
29
|
// catch branches run differs between a dev machine and a fresh CI install - and the
|
|
27
30
|
// totals land a few hundredths apart. Auto-raising these locally while enforcing them
|
|
28
31
|
// exactly on CI therefore fails on that difference rather than on a regression: CI
|
|
29
|
-
// measured 81.67/76.66/84.31/82.72 against floors written from a local run.
|
|
30
|
-
//
|
|
32
|
+
// measured 81.67/76.66/84.31/82.72 against floors written from a local run. The
|
|
33
|
+
// figures below are a local run of the widened surface (62.18/55.64/65.96/62.09) minus
|
|
34
|
+
// about a point. They read lower than the numbers they replace because they now count
|
|
35
|
+
// src/actions/, not because anything regressed - the old floors simply were not
|
|
36
|
+
// measuring the layer that broke. Raise them deliberately when a gain is worth
|
|
31
37
|
// locking in.
|
|
32
38
|
thresholds: {
|
|
33
|
-
statements:
|
|
34
|
-
branches:
|
|
35
|
-
functions:
|
|
36
|
-
lines:
|
|
39
|
+
statements: 61.2,
|
|
40
|
+
branches: 54.6,
|
|
41
|
+
functions: 65.0,
|
|
42
|
+
lines: 61.1,
|
|
37
43
|
},
|
|
38
44
|
},
|
|
39
45
|
},
|