@rightkit/release 0.6.2 → 0.6.3
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/bin/darwin/rightkit-swap +0 -0
- package/build-release.mjs +2 -2
- package/ownership-scope.mjs +9 -0
- package/package.json +1 -1
- package/preflight.mjs +5 -1
- package/release.mjs +12 -1
- package/rightkit-versions.json +12 -9
package/bin/darwin/rightkit-swap
CHANGED
|
Binary file
|
package/build-release.mjs
CHANGED
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
writeFileSync,
|
|
19
19
|
} from "node:fs";
|
|
20
20
|
import path from "node:path";
|
|
21
|
-
import {
|
|
21
|
+
import { preflightOwnershipScope } from "./ownership-scope.mjs";
|
|
22
22
|
import { spawn, spawnSync } from "./background-process.mjs";
|
|
23
23
|
import { RightKitRegistryError, SNAPSHOT_ENV, SNAPSHOT_FILE, assertManifestRegistryEvidence, loadAdmittedSnapshot, prepareRightKitResolution, registryManifestFields, rightKitLockInventory, writeAdmissionRecord } from "./rightkit-registry-resolver.mjs";
|
|
24
24
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
@@ -84,7 +84,7 @@ function buildPreflight({ config, configPath, appRoot, repoRoot, platform, nativ
|
|
|
84
84
|
version = undefined;
|
|
85
85
|
}
|
|
86
86
|
// An iOS target is built from its Xcode project and local packages only; the ownership scan covers just those roots.
|
|
87
|
-
const ownershipScope =
|
|
87
|
+
const ownershipScope = preflightOwnershipScope({ repoRoot, appRoot, platform, target, nativeAssembly: config?.nativeAssembly });
|
|
88
88
|
return collectPreflight({
|
|
89
89
|
platform,
|
|
90
90
|
ownershipScope,
|
package/ownership-scope.mjs
CHANGED
|
@@ -87,6 +87,15 @@ export function iosOwnershipScope({ repoRoot, appRoot, target, nativeAssembly })
|
|
|
87
87
|
return [...new Set([...checked, OWNERSHIP_SCOPE_ALWAYS])].sort();
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
+
/**
|
|
91
|
+
* The one place the doctor (`releasePreflight`) and the build (`buildPreflight`) assemble the ownership scan scope, so the
|
|
92
|
+
* two can never disagree about what ships (rightkit#927). iOS builds from its Xcode project and local packages only; every
|
|
93
|
+
* other platform scans the whole repository (null).
|
|
94
|
+
*/
|
|
95
|
+
export function preflightOwnershipScope({ repoRoot, appRoot, platform, target, nativeAssembly }) {
|
|
96
|
+
return platform === "ios" ? iosOwnershipScope({ repoRoot, appRoot, target, nativeAssembly }) : null;
|
|
97
|
+
}
|
|
98
|
+
|
|
90
99
|
/** Repository-relative file or directory under any scope root (null scope = everything). */
|
|
91
100
|
export function inOwnershipScope(scope, rel) {
|
|
92
101
|
if (!scope) return true;
|
package/package.json
CHANGED
package/preflight.mjs
CHANGED
|
@@ -193,6 +193,7 @@ export function collectPreflight({
|
|
|
193
193
|
ownership = true,
|
|
194
194
|
ownershipEvidenceFactory = createOwnershipEvidence,
|
|
195
195
|
ownershipScope = null,
|
|
196
|
+
ownershipScopeError = null,
|
|
196
197
|
runtimeBudgetAdoption = appRuntimeBudgetAdoptionCheck,
|
|
197
198
|
freeDisk = freeDiskGb,
|
|
198
199
|
projectType,
|
|
@@ -333,7 +334,10 @@ export function collectPreflight({
|
|
|
333
334
|
if (adoption) checks.push(adoption);
|
|
334
335
|
}
|
|
335
336
|
|
|
336
|
-
if (repoRoot && ownership) {
|
|
337
|
+
if (repoRoot && ownership && ownershipScopeError) {
|
|
338
|
+
// The target's scan scope could not be determined (the build refuses the same config): fail closed, never scan wider.
|
|
339
|
+
checks.push(fail("ownership", `ownership scope refused: ${ownershipScopeError}`, "fix the target's ownership scope configuration; the build refuses it too"));
|
|
340
|
+
} else if (repoRoot && ownership) {
|
|
337
341
|
// An app living inside the RightKit workspace repository is scoped to its own directory.
|
|
338
342
|
const workspace = existsSync(path.join(repoRoot, "tools", "rightkit", "packages", "release"));
|
|
339
343
|
checks.push(ownershipCheck(repoRoot, { scanRoot: workspace && appRoot ? appRoot : repoRoot, scope: ownershipScope, evidenceFactory: ownershipEvidenceFactory }));
|
package/release.mjs
CHANGED
|
@@ -50,7 +50,7 @@ import { assertReleaseDependencies } from "./release-dependencies.mjs";
|
|
|
50
50
|
import { assertNoForbiddenBuildFeatures } from "./qa-build-features.mjs";
|
|
51
51
|
import { expandRecipeBuildCommands } from "./recipe-build.mjs";
|
|
52
52
|
import { assertNoReleaseSwitches, commandTokens, localCrateDirsFromTree, resolveFeatureClosure, shippedRustTriples } from "./release-switch-scan.mjs";
|
|
53
|
-
import { iosOwnershipScope } from "./ownership-scope.mjs";
|
|
53
|
+
import { iosOwnershipScope, preflightOwnershipScope } from "./ownership-scope.mjs";
|
|
54
54
|
import { devtoolsEvidence, resolveDevtoolsAllowance } from "./devtools-policy.mjs";
|
|
55
55
|
import { runAndroidRelease, validateAndroidTarget } from "./android-release.mjs";
|
|
56
56
|
import { runIosPackageRecipe } from "./ios-package-recipe.mjs";
|
|
@@ -348,8 +348,19 @@ function releasePreflight({ config, configPath, root, repoRoot, platform, native
|
|
|
348
348
|
...pinnedCargoLocks,
|
|
349
349
|
...(config.cargoLocks ?? []).map((entry) => path.resolve(root, entry)),
|
|
350
350
|
].filter((entry, index, entries) => entries.indexOf(entry) === index);
|
|
351
|
+
// Same scope the build uses (rightkit#927): an iOS target is checked over its Xcode project and local packages only.
|
|
352
|
+
// The doctor reports a refused scope as an ownership FAIL (never a crash, never a whole-repo scan); the build still throws.
|
|
353
|
+
let ownershipScope = null;
|
|
354
|
+
let ownershipScopeError = null;
|
|
355
|
+
try {
|
|
356
|
+
ownershipScope = preflightOwnershipScope({ repoRoot, appRoot: root, platform, target: projectTarget, nativeAssembly: config.nativeAssembly });
|
|
357
|
+
} catch (error) {
|
|
358
|
+
ownershipScopeError = error instanceof Error ? error.message : String(error);
|
|
359
|
+
}
|
|
351
360
|
return collectPreflight({
|
|
352
361
|
platform,
|
|
362
|
+
ownershipScope,
|
|
363
|
+
ownershipScopeError,
|
|
353
364
|
appRoot: root,
|
|
354
365
|
repoRoot,
|
|
355
366
|
app: config.app,
|
package/rightkit-versions.json
CHANGED
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"@rightkit/qa": "0.6.1",
|
|
33
33
|
"@rightkit/qa-chrome": "0.1.11",
|
|
34
34
|
"@rightkit/react-shell": "0.7.2",
|
|
35
|
-
"@rightkit/release": "0.6.
|
|
35
|
+
"@rightkit/release": "0.6.3",
|
|
36
36
|
"@rightkit/settings-ui": "0.7.0",
|
|
37
37
|
"@rightkit/tauri": "0.3.0",
|
|
38
38
|
"@rightkit/tauri-shell": "0.1.2",
|
|
@@ -228,7 +228,8 @@
|
|
|
228
228
|
"0.5.0",
|
|
229
229
|
"0.5.1",
|
|
230
230
|
"0.6.0",
|
|
231
|
-
"0.6.1"
|
|
231
|
+
"0.6.1",
|
|
232
|
+
"0.6.2"
|
|
232
233
|
],
|
|
233
234
|
"@rightkit/qa": [
|
|
234
235
|
"0.1.0",
|
|
@@ -441,7 +442,7 @@
|
|
|
441
442
|
"rightkit-asr": "0.3.0",
|
|
442
443
|
"rightkit-audio": "0.3.1",
|
|
443
444
|
"rightkit-automation": "0.6.0",
|
|
444
|
-
"rightkit-browser": "0.3.
|
|
445
|
+
"rightkit-browser": "0.3.6",
|
|
445
446
|
"rightkit-cache": "0.2.3",
|
|
446
447
|
"rightkit-channel-memory": "0.2.1",
|
|
447
448
|
"rightkit-child-process": "0.5.5",
|
|
@@ -451,7 +452,7 @@
|
|
|
451
452
|
"rightkit-credentials": "0.4.2",
|
|
452
453
|
"rightkit-crypto": "0.1.0",
|
|
453
454
|
"rightkit-daemon": "0.4.0",
|
|
454
|
-
"rightkit-db": "0.5.
|
|
455
|
+
"rightkit-db": "0.5.2",
|
|
455
456
|
"rightkit-device": "0.4.0",
|
|
456
457
|
"rightkit-docs": "0.1.2",
|
|
457
458
|
"rightkit-embed": "0.6.1",
|
|
@@ -524,7 +525,7 @@
|
|
|
524
525
|
"rightkit-asr": "0.3.0",
|
|
525
526
|
"rightkit-audio": "0.3.1",
|
|
526
527
|
"rightkit-automation": "0.6.0",
|
|
527
|
-
"rightkit-browser": "0.3.
|
|
528
|
+
"rightkit-browser": "0.3.6",
|
|
528
529
|
"rightkit-cache": "0.2.3",
|
|
529
530
|
"rightkit-channel-memory": "0.2.1",
|
|
530
531
|
"rightkit-child-process": "0.5.5",
|
|
@@ -535,7 +536,7 @@
|
|
|
535
536
|
"rightkit-credentials": "0.4.2",
|
|
536
537
|
"rightkit-crypto": "0.1.0",
|
|
537
538
|
"rightkit-daemon": "0.4.0",
|
|
538
|
-
"rightkit-db": "0.5.
|
|
539
|
+
"rightkit-db": "0.5.2",
|
|
539
540
|
"rightkit-device": "0.4.0",
|
|
540
541
|
"rightkit-docs": "0.1.2",
|
|
541
542
|
"rightkit-embed": "0.6.1",
|
|
@@ -622,7 +623,7 @@
|
|
|
622
623
|
"@rightkit/qa": "0.6.1",
|
|
623
624
|
"@rightkit/qa-chrome": "0.1.11",
|
|
624
625
|
"@rightkit/react-shell": "0.7.2",
|
|
625
|
-
"@rightkit/release": "0.6.
|
|
626
|
+
"@rightkit/release": "0.6.2",
|
|
626
627
|
"@rightkit/settings-ui": "0.7.0",
|
|
627
628
|
"@rightkit/shell": "0.1.1",
|
|
628
629
|
"@rightkit/tauri": "0.3.0",
|
|
@@ -644,7 +645,8 @@
|
|
|
644
645
|
"0.2.2",
|
|
645
646
|
"0.3.0",
|
|
646
647
|
"0.3.1",
|
|
647
|
-
"0.3.4"
|
|
648
|
+
"0.3.4",
|
|
649
|
+
"0.3.5"
|
|
648
650
|
],
|
|
649
651
|
"rightkit-models": [
|
|
650
652
|
"0.2.1",
|
|
@@ -672,7 +674,8 @@
|
|
|
672
674
|
"0.3.0",
|
|
673
675
|
"0.3.1",
|
|
674
676
|
"0.4.0",
|
|
675
|
-
"0.4.3"
|
|
677
|
+
"0.4.3",
|
|
678
|
+
"0.5.1"
|
|
676
679
|
],
|
|
677
680
|
"rightkit-embed": [
|
|
678
681
|
"0.2.1",
|