build(packaging): set up multi-platform packaging and CI/CD

- Add GitHub Actions workflows for CI and releases
- Create icon generation script and SVG source
- Configure electron-builder for macOS, Windows, Linux
- Add macOS entitlements for code signing
- Add Linux post-install/remove scripts
- Enhance package.json with publishing scripts
- Add artifact naming convention
This commit is contained in:
Haze
2026-02-05 23:39:55 +08:00
Unverified
parent e02cf05baf
commit bad94e7e76
12 changed files with 815 additions and 4 deletions

View File

@@ -2,6 +2,7 @@ appId: app.clawx.desktop
productName: ClawX
copyright: Copyright © 2026 ClawX
compression: maximum
artifactName: ${productName}-${version}-${os}-${arch}.${ext}
directories:
output: release
@@ -17,13 +18,21 @@ extraResources:
to: resources/
filter:
- "**/*"
- "!icons/*.md"
- "!icons/*.svg"
asar: true
asarUnpack:
- "**/*.node"
# Auto-update configuration
publish:
- provider: github
owner: clawx
repo: clawx
releaseType: release
# macOS Configuration
mac:
category: public.app-category.productivity
icon: resources/icons/icon.icns
@@ -39,8 +48,15 @@ mac:
gatekeeperAssess: false
entitlements: entitlements.mac.plist
entitlementsInherit: entitlements.mac.plist
notarize: false # Set to true when you have Apple credentials
extendInfo:
NSMicrophoneUsageDescription: ClawX requires microphone access for voice features
NSCameraUsageDescription: ClawX requires camera access for video features
dmg:
background: resources/dmg-background.png
icon: resources/icons/icon.icns
iconSize: 100
contents:
- type: file
x: 130
@@ -50,6 +66,7 @@ dmg:
x: 410
y: 220
# Windows Configuration
win:
icon: resources/icons/icon.ico
target:
@@ -58,15 +75,25 @@ win:
- x64
- arm64
publisherName: ClawX Inc.
# For code signing, uncomment and configure:
# certificateFile: path/to/certificate.pfx
# certificatePassword: ${env.WIN_CSC_KEY_PASSWORD}
nsis:
oneClick: false
perMachine: false
allowToChangeInstallationDirectory: true
deleteAppDataOnUninstall: false
differentialPackage: true
createDesktopShortcut: true
createStartMenuShortcut: true
shortcutName: ClawX
uninstallDisplayName: ClawX
license: LICENSE
installerIcon: resources/icons/icon.ico
uninstallerIcon: resources/icons/icon.ico
# Linux Configuration
linux:
icon: resources/icons
target:
@@ -77,5 +104,36 @@ linux:
- target: deb
arch:
- x64
- arm64
- target: rpm
arch:
- x64
category: Utility
maintainer: ClawX Team
maintainer: ClawX Team <team@clawx.app>
vendor: ClawX
synopsis: AI Assistant powered by OpenClaw
description: |
ClawX is a graphical AI assistant application that integrates with
OpenClaw Gateway to provide intelligent automation and assistance
across multiple messaging platforms.
desktop:
Name: ClawX
Comment: AI Assistant powered by OpenClaw
Categories: Utility;Network;
Keywords: ai;assistant;automation;chat;
appImage:
license: LICENSE
deb:
depends:
- libgtk-3-0
- libnotify4
- libnss3
- libxss1
- libxtst6
- xdg-utils
- libatspi2.0-0
- libuuid1
afterInstall: scripts/linux/after-install.sh
afterRemove: scripts/linux/after-remove.sh