Files
orca/config/scripts/worktree-storage/dev-storage-reclaim.mjs
Neil 9bd6272fdf refactor(tooling): organize build, CI, and test owners (#38130)
* 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
2026-11-04 21:08:19 -08:00

42 lines
1.1 KiB
JavaScript

import { resolve } from 'node:path'
import { spawnProcess } from '@orca/process-host'
export function startDevStorageReclaim({
repoRoot,
env = process.env,
spawn = spawnProcess,
report = console.error
}) {
if (env.ORCA_SKIP_DEV_STORAGE_RECLAIM === '1') {
return
}
try {
// The worker owns its lock after dev exits and must not keep captured dev output open.
const child = spawn({
program: process.execPath,
args: [
resolve(import.meta.dirname, 'reclaim-worktree-space.mjs'),
'--repo',
repoRoot,
'--exclude-worktree',
repoRoot,
'--automatic',
'--apply'
],
cwd: repoRoot,
env,
detached: true,
stdio: 'ignore'
})
child.on('error', (error) => report(`[orca-dev] Storage cleanup skipped: ${error.message}`))
child.on('exit', (code) => {
if (code !== 0) {
report('[orca-dev] Storage cleanup did not finish; retry with pnpm reclaim-space.')
}
})
child.unref()
} catch (error) {
report(`[orca-dev] Storage cleanup skipped: ${error.message}`)
}
}