mirror of
https://github.com/stablyai/orca.git
synced 2026-11-13 09:27:29 +00:00
* refactor(tooling): organize test runtime and maintenance owners * test(tooling): preserve relocated runtime fixture dependency edges * refactor(tooling): preserve xterm routing owner checks * ci(tooling): include routing owner in sparse checkout * test(tooling): preserve copied workflow dependency closures * fix(tooling): normalize hashed JSON assets in release parity * fix(tooling): distinguish asset aliases from literal references * fix(tooling): frame normalized asset reference payloads * fix(tooling): normalize decoded JSON asset references * refactor(tooling): organize build, CI and release owners * fix(tooling): align moved generator and workflow path contracts * fix(tooling): update generated plugin bundle owner banners * test(tooling): create relocated mobile verifier fixture directories * test(tooling): copy headless detector dependency closure * test(tooling): align native batch policy fixtures with owner path * fix(tooling): link moved reliability command to historical evidence * fix(tooling): preserve nested sandbox owners and canonical guide source * fix(tooling): target release version owners in checkout fixture
41 lines
1.0 KiB
JavaScript
41 lines
1.0 KiB
JavaScript
import { join } from 'node:path'
|
|
import { runProcessSync } from '@orca/process-host'
|
|
import { windowsProcessTreeAddonDefect } from './windows-process-tree-gyp-rebuild.mjs'
|
|
|
|
const root = join(import.meta.dirname, '../../../..')
|
|
|
|
function checkPreparedRuntime() {
|
|
return runProcessSync({
|
|
program: process.execPath,
|
|
args: [
|
|
join(root, 'config/scripts/native-build/node-addons/ensure-native-runtime.mjs'),
|
|
'--check-only'
|
|
],
|
|
cwd: root,
|
|
timeoutMs: 30_000
|
|
})
|
|
}
|
|
|
|
export function canReusePreparedAddon({
|
|
enabled = false,
|
|
arch,
|
|
addonPath,
|
|
sourceRepaired,
|
|
hostArch = process.arch,
|
|
platform = process.platform,
|
|
checkRuntime = checkPreparedRuntime
|
|
}) {
|
|
if (!enabled || sourceRepaired !== false || platform !== 'win32' || arch !== hostArch) {
|
|
return false
|
|
}
|
|
try {
|
|
if (windowsProcessTreeAddonDefect(addonPath, arch) !== null) {
|
|
return false
|
|
}
|
|
const result = checkRuntime()
|
|
return result.code === 0 && !result.timedOut && !result.outputTruncated
|
|
} catch {
|
|
return false
|
|
}
|
|
}
|