Merge fix/vili-runner-build: daemon tests run their stub Blender from the checkout, not noexec /tmp (Soul s4)
Idunn's node-build runner mounts /tmp noexec, so test-daemon failed 20 of 137 and the 2026-10-25 deploy failed in Sealing. The stub now lives under the gitignored .vili/test-scratch. The whole recipe passes by hand in the runner's shape. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
commit
51eb113d57
1 changed files with 5 additions and 1 deletions
|
|
@ -19,6 +19,9 @@ const stubBlenderPath = path.join(here, "fixtures", "stub-blender.mjs");
|
|||
const exportScriptPath = path.join(here, "bvh-to-fbx.py");
|
||||
const fakeIdunnEntry = path.join(here, "fixtures", "fake-idunn-entry.mjs");
|
||||
const THREADS = 5;
|
||||
// The stub Blender is executed, and the recipe's runner mounts /tmp noexec (and the root read-only), so it cannot live
|
||||
// there. It lives under the checkout's gitignored .vili, which the runner's workspace leaves writable.
|
||||
const execScratch = path.join(here, "..", ".vili", "test-scratch");
|
||||
|
||||
async function until(condition, what, seconds = 15) {
|
||||
const deadline = Date.now() + seconds * 1000;
|
||||
|
|
@ -65,7 +68,8 @@ async function startDaemon({
|
|||
if (threads !== null) settings.threads = threads;
|
||||
// Blender is a copy of the stub in a directory of its own (the stub logs its starts beside itself): "stub" is
|
||||
// ready, "broken" fails its version probe, "missing" is a path with nothing there, null is unconfigured.
|
||||
const blenderDir = mkdtempSync(path.join(os.tmpdir(), "vili-blender-"));
|
||||
mkdirSync(execScratch, { recursive: true });
|
||||
const blenderDir = mkdtempSync(path.join(execScratch, "blender-"));
|
||||
const blenderPath = blender === null ? null : path.join(blenderDir, { stub: "blender", broken: "blender-broken", missing: "absent" }[blender]);
|
||||
if (blender === "stub" || blender === "broken") {
|
||||
copyFileSync(stubBlenderPath, blenderPath);
|
||||
|
|
|
|||
Loading…
Reference in a new issue