mirror of
https://github.com/stablyai/orca.git
synced 2026-09-22 16:02:32 +00:00
* Reduce native dependency installs to the host platform * Remove install policy documentation * Guard cross-arch packaging and scope release installs to the runner electron-builder only logs a warning for a missing extraResources source, so a host-only install silently shipped a foreign-arch slice without its natives — `pnpm build:mac` on Apple Silicon produced an x64 DMG with no sherpa-onnx-darwin-x64 and no @parcel/watcher-darwin-x64. The previous beforePack hook covered only win32. - Add assertPackagedNativeVariantsInstalled, an arch-aware check over the target's sherpa-onnx, @parcel/watcher, and (on Windows) node-gyp addons. beforePack now runs it for every platform, with remedies split: another architecture comes from install:release, the os:win32 addons need a Windows host. - Drop --os from the release installs. Every packaging job already runs on a runner whose OS matches its target, so only the macOS lanes need extra breadth, and only on CPU for their x64+arm64 config. Windows and Linux packaging return to a plain host-only install. - Add --frozen-lockfile to install:release so a bare run cannot rewrite the lockfile. - Restore the install policy reference doc and the CONTRIBUTING note, plus the rationale comments dropped from the runtime contract test. - Gate the packaging-closure assertions on whether the Windows addons are installed rather than on the host OS, so a cross-arch install exercises them off Windows too. - Make the workflow contract test read `run:` steps as well as retry-action commands, and enforce host-only scoping on the non-macOS packaging lanes. - Remove the unreferenced install measurement script; its numbers live in the policy doc. * Track the install policy doc and index it from AGENTS.md docs/** is ignored behind a per-file allow-list, so the new reference doc was only committed via git add -f and future edits would be skipped. Add it to the allow-list and give it an AGENTS.md entry like every other tracked reference doc, so the host-only install rule is discoverable before someone packages a second architecture. * Route Windows-lane removals through the retrying helper Adding these four specs to the PR Windows lane pulled them into the windows-lane-tree-removal-boundary ratchet, which failed on 20 raw recursive removals. On Windows a bare rmSync races a handle the OS has not released, throwing EPERM after the assertions already passed and reporting a green test as a lane failure. * Adapt the packaging guard to the vendored Windows registry addon main vendored windows-native-registry as the workspace package @orca/windows-registry (#20438). A workspace link resolves on every host, so including it in the installed-Windows-addons checks proved nothing. @vscode/windows-process-tree is the only os: win32 npm addon left, so it alone decides whether the win32 resource plan resolves.
70 lines
2.9 KiB
YAML
70 lines
2.9 KiB
YAML
# The desktop app is a single-project install. `mobile/` is a separate workspace
|
|
# with its own pnpm-workspace.yaml and lockfile, so keep it out of the root
|
|
# package graph. Without this file `pnpm -r` auto-discovers mobile/ and its
|
|
# nested package, and the root's patchedDependencies fail as ERR_PNPM_UNUSED_PATCH.
|
|
#
|
|
# native/windows-registry is listed explicitly rather than reached by a glob: as a `file:`
|
|
# dependency pnpm re-linked it on every install (including --frozen-lockfile), and that
|
|
# virtual-store churn raced node-gyp reading the same tree, which lost @vscode/windows-process-tree's
|
|
# binding.gyp mid-rebuild on Windows CI. A workspace link is resolved once instead.
|
|
packages:
|
|
- native/windows-registry
|
|
|
|
minimumReleaseAge: 4320
|
|
# 6.3.289 was published 2026-08-29T12:48Z; it clears the 3-day gate on 2026-09-01T12:48Z.
|
|
# zod 4.5.4 was published 2026-08-29T17:55Z; it clears the 3-day gate on 2026-09-01T17:55Z.
|
|
minimumReleaseAgeExclude:
|
|
- pdfjs-dist@6.3.289
|
|
- zod@4.5.4
|
|
- electron@43.7.0
|
|
shamefullyHoist: true
|
|
|
|
# Orca always launches the user's own resolved Claude CLI via
|
|
# pathToClaudeCodeExecutable, so the SDK's bundled ~95 MB-per-platform CLI
|
|
# binaries must never be installed. Excluding them is what makes the path
|
|
# override mandatory rather than merely preferred.
|
|
ignoredOptionalDependencies:
|
|
- '@anthropic-ai/claude-agent-sdk-darwin-arm64'
|
|
- '@anthropic-ai/claude-agent-sdk-darwin-x64'
|
|
- '@anthropic-ai/claude-agent-sdk-linux-arm64'
|
|
- '@anthropic-ai/claude-agent-sdk-linux-arm64-musl'
|
|
- '@anthropic-ai/claude-agent-sdk-linux-x64'
|
|
- '@anthropic-ai/claude-agent-sdk-linux-x64-musl'
|
|
- '@anthropic-ai/claude-agent-sdk-win32-arm64'
|
|
- '@anthropic-ai/claude-agent-sdk-win32-x64'
|
|
|
|
# Development and test jobs need only their host. Cross-target packaging opts in
|
|
# with pnpm install:release (or explicit pnpm install --os / --cpu targets).
|
|
supportedArchitectures:
|
|
os:
|
|
- current
|
|
cpu:
|
|
- current
|
|
|
|
allowBuilds:
|
|
'@parcel/watcher': true
|
|
'@swc/core': false
|
|
'@vscode/windows-process-tree': false
|
|
agent-browser: false
|
|
cpu-features: true
|
|
electron-winstaller: false
|
|
esbuild: true
|
|
msw: false
|
|
node-pty: true
|
|
sherpa-onnx: true
|
|
ssh2: false
|
|
"@orca/windows-registry": false
|
|
|
|
overrides:
|
|
monaco-editor>dompurify: 3.4.14
|
|
|
|
patchedDependencies:
|
|
node-pty@1.1.0: config/patches/node-pty@1.1.0.patch
|
|
'@xterm/addon-ligatures@0.11.0-beta.300': config/patches/@xterm__addon-ligatures@0.11.0-beta.300.patch
|
|
'@xterm/addon-webgl@0.20.0-beta.299': config/patches/@xterm__addon-webgl@0.20.0-beta.299.patch
|
|
'@xterm/addon-search@0.17.0-beta.300': config/patches/@xterm__addon-search@0.17.0-beta.300.patch
|
|
'@xterm/addon-serialize@0.15.0-beta.300': config/patches/@xterm__addon-serialize@0.15.0-beta.300.patch
|
|
'@xterm/xterm@6.1.0-beta.303': config/patches/@xterm__xterm@6.1.0-beta.303.patch
|
|
lint-staged@16.4.0: config/patches/lint-staged@16.4.0.patch
|
|
'@vscode/windows-process-tree@0.8.0': config/patches/@vscode__windows-process-tree@0.8.0.patch
|