From 79d84685808852d484f289febc5ccafc8aa1e72c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E5=91=98=E9=98=BF=E6=B1=9F=28Relakkes?= =?UTF-8?q?=29?= Date: Wed, 3 Jun 2026 19:55:10 +0800 Subject: [PATCH] fix(release): add Linux deb package metadata Ensure Electron Builder has the project URL and maintainer metadata required by Linux deb targets, and lock the fields with release workflow coverage. Tested: bun test scripts/pr/release-workflow.test.ts Tested: bun run check:policy Tested: bun run check:native Tested: bun run verify Confidence: high Scope-risk: narrow --- desktop/package.json | 9 ++++++++- scripts/pr/release-workflow.test.ts | 22 ++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/desktop/package.json b/desktop/package.json index 5f770f08..efe8a1ae 100644 --- a/desktop/package.json +++ b/desktop/package.json @@ -2,6 +2,12 @@ "name": "claude-code-desktop", "private": true, "version": "0.3.2", + "description": "Desktop coding agent workbench for Claude Code Haha.", + "homepage": "https://github.com/NanmiCoder/cc-haha", + "author": { + "name": "NanmiCoder", + "email": "relakkes@gmail.com" + }, "type": "module", "main": "electron-dist/main.cjs", "build": { @@ -50,7 +56,8 @@ "deb" ], "icon": "src-tauri/icons", - "category": "Development" + "category": "Development", + "maintainer": "NanmiCoder " }, "publish": [ { diff --git a/scripts/pr/release-workflow.test.ts b/scripts/pr/release-workflow.test.ts index 2b4675d5..4d94676b 100644 --- a/scripts/pr/release-workflow.test.ts +++ b/scripts/pr/release-workflow.test.ts @@ -47,6 +47,28 @@ describe('release desktop workflow', () => { } }) + test('desktop package includes Linux deb metadata required by electron-builder', () => { + const desktopPackage = JSON.parse(readFileSync('desktop/package.json', 'utf8')) as { + description?: string + homepage?: string + author?: { + name?: string + email?: string + } + build?: { + linux?: { + maintainer?: string + } + } + } + + expect(desktopPackage.description).toBeTruthy() + expect(desktopPackage.homepage).toBe('https://github.com/NanmiCoder/cc-haha') + expect(desktopPackage.author?.name).toBe('NanmiCoder') + expect(desktopPackage.author?.email).toBe('relakkes@gmail.com') + expect(desktopPackage.build?.linux?.maintainer).toBe('NanmiCoder ') + }) + test('release workflow requires macOS Gatekeeper launch approval before upload', () => { const workflow = readReleaseWorkflow() const gatekeeperStep = workflow.match(