Files
penguin-harness/packages/desktop/electron-builder.yml
T
2026-08-05 00:21:15 +08:00

67 lines
2.4 KiB
YAML

# electron-builder config (design § "桌面端原型 · 打包与更新", milestone M3).
#
# The app directory is the pnpm-deploy staging tree assembled by scripts/stage.mjs —
# a portable, self-contained node_modules (workspace packages materialized) plus the
# shell bundle and the server's web-dist.
#
# asar is off on purpose: the shell forks the server as a child process, the skill
# library reads its .md files from disk, and agent commands spawn real shells — plain
# files sidestep every asar edge (fork-from-archive, unpacked-tree resolution splits)
# at the cost of some inodes.
#
# M3 ships unsigned artifacts: macOS signing/notarization and Windows code signing are
# milestone M4, together with electron-updater.
appId: com.prismshadow.penguinharness
productName: PenguinHarness
directories:
app: stage/app
output: stage/out
asar: false
# The staged tree is complete and has no native modules; a rebuild would only fail
# against the pruned package.json.
npmRebuild: false
nodeGypRebuild: false
mac:
category: public.app-category.developer-tools
# No Developer ID yet (M4): identity null skips codesign instead of failing.
identity: null
# Version-less artifact names, following the CLI bundles (penguin-darwin-arm64.tar.gz):
# the version lives in the Release tag and SHA256SUMS.desktop, so the download page and
# the OSS mirror manifest can address every installer by a stable name — and GitHub's
# `releases/latest/download/<name>` stays a working static link across releases.
artifactName: penguin-desktop-darwin-${arch}.${ext}
target:
- target: dmg
arch: [arm64, x64]
- target: zip
arch: [arm64, x64]
win:
artifactName: penguin-desktop-win32-${arch}.${ext}
target:
- target: nsis
arch: [x64]
# MinGit, downloaded by the CI job into stage/minigit (empty for local non-Windows
# builds): lands under resources/git, and the shell advertises git/usr/bin/sh.exe as
# PENGUIN_BUNDLED_SHELL so the agent shell behaves like the npm-installed package.
extraResources:
- from: stage/minigit
to: git
nsis:
oneClick: false
allowToChangeInstallationDirectory: true
linux:
# The scoped package name is not a valid executable file name.
executableName: penguin-harness
artifactName: penguin-desktop-linux-${arch}.${ext}
category: Development
maintainer: Prism Shadow <zheng@prismshadow.com>
target:
- target: AppImage
arch: [x64]
- target: deb
arch: [x64]