@rightkit/release 0.2.30 → 0.2.31

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.
@@ -23,6 +23,10 @@ const outputPath = path.resolve(cwd, output);
23
23
  if (!dryRun && !existsSync(appPath)) fail(`signed app not found: ${appPath}`);
24
24
 
25
25
  const env = { ...process.env };
26
+ // bsdtar otherwise serializes macOS extended attributes as AppleDouble `._*`
27
+ // entries. Tauri's Rust extractor writes those entries as real bundle files,
28
+ // invalidating the Developer ID seal and causing syspolicyd to trash the app.
29
+ env.COPYFILE_DISABLE = "1";
26
30
  if (!dryRun && !env.TAURI_SIGNING_PRIVATE_KEY) {
27
31
  try {
28
32
  env.TAURI_SIGNING_PRIVATE_KEY = execFileSync(
@@ -50,7 +54,8 @@ run("tar", [
50
54
  run("pnpm", ["exec", "tauri", "signer", "sign", outputPath]);
51
55
 
52
56
  function run(command, commandArgs) {
53
- console.log(`${dryRun ? "[dry-run] " : ""}${command} ${commandArgs.join(" ")}`);
57
+ const envPrefix = command === "tar" ? "COPYFILE_DISABLE=1 " : "";
58
+ console.log(`${dryRun ? "[dry-run] " : ""}${envPrefix}${command} ${commandArgs.join(" ")}`);
54
59
  if (dryRun) return;
55
60
  const result = spawnSync(command, commandArgs, { cwd, env, stdio: "inherit" });
56
61
  if (result.status !== 0) process.exit(result.status ?? 1);
@@ -8,7 +8,7 @@ const helper = fileURLToPath(new URL("./create-mac-updater.mjs", import.meta.url
8
8
  test("documents the final signed-app to signed-updater sequence in dry-run mode", () => {
9
9
  const result = spawnSync(process.execPath, [helper, "--app", "bundle/Test.app", "--output", "bundle/Test.app.tar.gz", "--dry-run"], { encoding: "utf8" });
10
10
  assert.equal(result.status, 0, result.stderr);
11
- assert.match(result.stdout, /tar .*Test\.app\.tar\.gz.*Test\.app\/Contents/);
11
+ assert.match(result.stdout, /COPYFILE_DISABLE=1 tar .*Test\.app\.tar\.gz.*Test\.app\/Contents/);
12
12
  assert.doesNotMatch(result.stdout, / Test\.app$/m);
13
13
  assert.match(result.stdout, /tauri signer sign .*Test\.app\.tar\.gz/);
14
14
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rightkit/release",
3
- "version": "0.2.30",
3
+ "version": "0.2.31",
4
4
  "description": "Portable Right Suite release CLI/SDK: signed installers, updater artifacts, patch/update routing, hardening, R2 publish, and RightApps registration.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -317,7 +317,7 @@ test("Cargo version contract rejects staged versions that mismatch canonical man
317
317
  test("RightKit exposes one current version manifest", () => {
318
318
  assert.equal(existsSync(versionsPath), true, "rightkit-versions.json must be the single current-version source");
319
319
  assert.match(versions.packageManager, /^pnpm@\d+\.\d+\.\d+$/);
320
- assert.equal(versions.npm["@rightkit/release"], "0.2.29");
320
+ assert.equal(versions.npm["@rightkit/release"], "0.2.30");
321
321
  assert.equal(versions.npm["@rightkit/legal"], "0.2.0");
322
322
  assert.equal(versions.npm["@rightkit/license"], "0.1.5");
323
323
  assert.equal(versions.npm["@rightkit/logs"], "0.1.3");
@@ -327,10 +327,10 @@ test("RightKit exposes one current version manifest", () => {
327
327
  "@rightkit/legal": "0.3.0",
328
328
  "@rightkit/legal-ui": "0.1.0",
329
329
  "@rightkit/license": "0.1.6",
330
- "@rightkit/release": "0.2.30",
330
+ "@rightkit/release": "0.2.31",
331
331
  });
332
332
  assert.deepEqual(versions.legacyNpm, {
333
- "@rightkit/release": ["0.2.22"],
333
+ "@rightkit/release": ["0.2.22", "0.2.29"],
334
334
  });
335
335
  const licensePackage = JSON.parse(readFileSync(
336
336
  path.join(workspace, "tools/rightkit/packages/license/package.json"),
@@ -7,7 +7,7 @@
7
7
  "@rightkit/logs": "0.1.3",
8
8
  "@rightkit/platform-ui": "0.1.0",
9
9
  "@rightkit/qa": "0.1.0",
10
- "@rightkit/release": "0.2.29",
10
+ "@rightkit/release": "0.2.30",
11
11
  "@rightkit/tauri": "0.1.0",
12
12
  "@rightkit/updates": "0.2.3"
13
13
  },
@@ -15,10 +15,10 @@
15
15
  "@rightkit/legal": "0.3.0",
16
16
  "@rightkit/legal-ui": "0.1.0",
17
17
  "@rightkit/license": "0.1.6",
18
- "@rightkit/release": "0.2.30"
18
+ "@rightkit/release": "0.2.31"
19
19
  },
20
20
  "legacyNpm": {
21
- "@rightkit/release": ["0.2.22"]
21
+ "@rightkit/release": ["0.2.22", "0.2.29"]
22
22
  },
23
23
  "cargo": {
24
24
  "rightkit-license": "0.1.2",