From 71f9243bf231246deddf8b450eef7a53fcc065d0 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 30 Sep 2026 20:04:23 +0000 Subject: [PATCH] Runner: instabile Build-Tests behoben Co-Authored-By: Claude Sonnet 5.5 --- runner/src/jobs.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/runner/src/jobs.js b/runner/src/jobs.js index 94a0c54..588322f 100644 --- a/runner/src/jobs.js +++ b/runner/src/jobs.js @@ -210,6 +210,7 @@ export function createJobs({ config, docker, fs: fsOver = {}, git, mem = readMem const workDir = join(config.workRoot, 'build', run.runId); const deadline = now() + config.buildTimeoutMs; run.state = 'running'; + let final; try { const prep = await prepare(job, { onLine, workDir, id: run.runId, deadline }); const d = prep.detected; @@ -240,16 +241,17 @@ export function createJobs({ config, docker, fs: fsOver = {}, git, mem = readMem run.result = 'build'; } } - run.state = 'done'; + final = 'done'; } catch (e) { - run.state = 'failed'; + final = 'failed'; run.result = undefined; run.error = masker(job)(e?.message || 'Unbekannter Fehler'); onLine(run.error); - } finally { - await fs.rm(workDir, { recursive: true, force: true }).catch(() => {}); - run.finishedAt = now(); } + // Endzustand erst nach dem Aufräumen veröffentlichen: wer 'done'/'failed' sieht, sieht ein bereinigtes workDir und finishedAt. + await fs.rm(workDir, { recursive: true, force: true }).catch(() => {}); + run.finishedAt = now(); + run.state = final; } function submit(job) {