Merge PR #1616: share manual Pixel Office tasks across Web, CLI and agent

This commit is contained in:
Haozhe Wu committed 2026-10-13 13:24:30 +08:00
commit 1387fc1d0e
42 files changed
+3745 -83

No files matched your search

+5
View File
@@ -58,6 +58,7 @@ npm run build
cd ..\desktop\electron
npm ci
npm run runtime:win -- -Clean
npm run prepare:electron
npm start
```
@@ -68,6 +69,10 @@ the source lifecycle tests. The packaging command additionally requires a
current `7z.exe`; it treats the pinned GTK NSIS asset as an archive and never
executes its legacy self-extractor.
The installer command builds the isolated Python backend before Electron
packaging. It produces an unsigned local review installer and does not publish
or auto-update anything.
The Windows lifecycle suite used by CI can be run from the same directory:
```powershell
+3
View File
@@ -44,6 +44,9 @@ npm run smoke:lifecycle
npm run installer:win:review
```
`installer:win:review` also runs the backend runtime build automatically, so
running `npm run runtime:win` separately is optional when using that command.
The installer and checksum are written under `desktop/electron/release/`.
The `installer:win:review` artifact is deliberately unsigned and must never be
published to users. The command strips all supported signing credentials,
+2 -1
View File
@@ -19,7 +19,7 @@
"smoke:credentials": "npm run build && npm run prepare:electron && electron scripts/smoke-credentials.cjs",
"smoke:lifecycle": "npm run build && npm run prepare:electron && node scripts/test-packaging-preparation.mjs && node scripts/test-locales.mjs && node scripts/test-backend-resolution.mjs && node scripts/smoke-lifecycle.mjs && node scripts/smoke-parent-death.mjs",
"pack:win": "npm run build && npm run prepare:electron && electron-builder --publish never --win dir",
"installer:win:review": "npm run build && npm run prepare:electron && node scripts/build-review-installer.mjs",
"installer:win:review": "npm run runtime:win -- -Clean && npm run build && npm run prepare:electron && node scripts/build-review-installer.mjs",
"installer:win:signed": "node scripts/build-signed-installer.mjs",
"sbom": "npm sbom --sbom-format cyclonedx"
},
@@ -48,6 +48,7 @@
"directories": {
"output": "release"
},
"publish": null,
"files": [
"dist/**/*",
"package.json"
+6 -5
View File
@@ -95,11 +95,12 @@ function Resolve-SevenZip {
}
if (-not $BuildPython) {
$repoVenvPython = Join-Path $repoRoot '.venv\Scripts\python.exe'
if (Test-Path -LiteralPath $repoVenvPython) {
$BuildPython = $repoVenvPython
}
else {
$pythonCandidates = @(
(Join-Path $repoRoot '.packaging-venv\Scripts\python.exe'),
(Join-Path $repoRoot '.venv\Scripts\python.exe')
)
$BuildPython = $pythonCandidates | Where-Object { Test-Path -LiteralPath $_ } | Select-Object -First 1
if (-not $BuildPython) {
$BuildPython = (Get-Command python.exe -ErrorAction Stop).Source
}
}