fix(ci): unblocked release run on formatting and chunk watchdog

- Reformatted the logger burst test per biome (the type-check job gates on
  check:tools, which failed on the previous hotfix's formatting).
- Raised the native/unit bucket's chunk watchdog to 1200 s: the mupdf PDF
  extraction chunk runs ~7 min per attempt on burstable runners under a
  full fan-out and the 600 s default SIGKILLed both tries in release run
  30519992654; the watchdog targets wedged children, not slow chunks.
This commit is contained in:
can1357
2026-07-30 08:59:03 +02:00
parent 053dbfa605
commit 8db0228f4d
2 changed files with 21 additions and 19 deletions
+6
View File
@@ -380,6 +380,12 @@ jobs:
- name: Test coding-agent native/unit bucket
env:
OMP_TEST_CONCURRENCY: "4"
# The mupdf/PDF-extraction chunk measures ~7 min on burstable
# runners under a full 8-wide fan-out; the default 600 s chunk
# watchdog SIGKILLed it (release run 30519992654). The watchdog
# exists to catch wedged children, not slow-but-progressing
# chunks — give this bucket a wider budget.
OMP_TEST_CHUNK_TIMEOUT: "1200"
run: bun run ci:test:coding-agent:native
test_smoke:
+15 -19
View File
@@ -252,26 +252,22 @@ describe("central logger transport lifecycle", () => {
// on an unloaded runner — bun's 5 s default test timeout SIGTERMed the
// probe (exit 143) whenever CI runners shared cores. The contract is
// order + drain, not latency; give it an explicit budget.
test(
"preserves burst order and drains on close and natural child exit",
async () => {
for (const scenario of ["burst-close", "burst-natural"] as const) {
const result = await runScenario(scenario);
expect(result.stdout).toBe("");
expect(result.stderr).toBe("");
const text = (await readSingleLog(result.primaryDir)).text;
expect(text.endsWith(os.EOL)).toBe(true);
const lines = text.split(os.EOL);
expect(lines.pop()).toBe("");
expect(lines).toHaveLength(1_000);
for (const [index, line] of lines.entries()) {
const entry = JSON.parse(line) as { message: string; index: number };
expect(entry).toMatchObject({ message: scenario, index });
}
test("preserves burst order and drains on close and natural child exit", async () => {
for (const scenario of ["burst-close", "burst-natural"] as const) {
const result = await runScenario(scenario);
expect(result.stdout).toBe("");
expect(result.stderr).toBe("");
const text = (await readSingleLog(result.primaryDir)).text;
expect(text.endsWith(os.EOL)).toBe(true);
const lines = text.split(os.EOL);
expect(lines.pop()).toBe("");
expect(lines).toHaveLength(1_000);
for (const [index, line] of lines.entries()) {
const entry = JSON.parse(line) as { message: string; index: number };
expect(entry).toMatchObject({ message: scenario, index });
}
},
30_000,
);
}
}, 30_000);
test("runs local console output before sinks and isolates throwing or disposed sinks", async () => {
const result = await runScenario("sink-order");