Skip to content

Commit ad5d2cb

Browse files
committed
fix(mac): clean dSYM staging on zip failure
1 parent 7cda58c commit ad5d2cb

2 files changed

Lines changed: 6 additions & 1 deletion

File tree

scripts/package-mac-dist.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,10 @@ if [[ "$SKIP_DSYM" != "1" ]]; then
256256
fi
257257
echo "🧩 dSYM: $DSYM_ZIP"
258258
rm -f "$DSYM_ZIP"
259-
ditto -c -k --keepParent "$TMP_DSYM" "$DSYM_ZIP"
259+
if ! ditto -c -k --keepParent "$TMP_DSYM" "$DSYM_ZIP"; then
260+
rm -rf "$TMP_DSYM"
261+
exit 1
262+
fi
260263
rm -rf "$TMP_DSYM"
261264
else
262265
echo "Error: dSYM not found (set SKIP_DSYM=1 to skip symbols)" >&2

test/scripts/package-mac-dist.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,8 @@ describe("package-mac-dist plist validation", () => {
245245
expect(dsymBlock).toContain("Error: missing DWARF binaries for dSYM merge");
246246
expect(dsymBlock).toContain("Error: dSYM not found");
247247
expect(dsymBlock).toContain("exit 1");
248+
expect(dsymBlock).toContain('if ! ditto -c -k --keepParent "$TMP_DSYM" "$DSYM_ZIP"; then');
249+
expect(dsymBlock).toContain('rm -rf "$TMP_DSYM"');
248250
expect(dsymBlock).not.toContain("WARN:");
249251
expect(dsymBlock).not.toContain("continuing");
250252
});

0 commit comments

Comments
 (0)