From 1f33cb135d8e8d2dad380a1fea4e72ed59bf51bd Mon Sep 17 00:00:00 2001 From: Jarvis Date: Wed, 24 Jun 2026 14:21:36 -0500 Subject: [PATCH] test(fleet): raise provision spec timeout for I/O-bound CI runs (#665) --- packages/mosaic/src/commands/fleet-provision.spec.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/mosaic/src/commands/fleet-provision.spec.ts b/packages/mosaic/src/commands/fleet-provision.spec.ts index 691814e..18799b0 100644 --- a/packages/mosaic/src/commands/fleet-provision.spec.ts +++ b/packages/mosaic/src/commands/fleet-provision.spec.ts @@ -3,11 +3,19 @@ import { constants } from 'node:fs'; import { tmpdir } from 'node:os'; import { dirname, join, resolve } from 'node:path'; import { fileURLToPath } from 'node:url'; -import { afterEach, beforeEach, describe, expect, it } from 'vitest'; +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { loadFleetRoster } from './fleet.js'; import { generateRoster, runProvision } from './fleet-provision.js'; import { loadProfile } from './fleet-profiles.js'; +// These are INTEGRATION tests: each exercises real filesystem I/O — scanning the +// committed framework/fleet persona library, rendering YAML, writing to a temp +// mosaicHome, and round-tripping through the real roster parser. On a heavily +// contended CI runner (the whole monorepo's suites run in parallel) that genuine +// I/O can exceed vitest's 5s default even though it completes in ~400ms locally. +// Give the legitimately I/O-bound work generous headroom so CI is deterministic. +vi.setConfig({ testTimeout: 30_000 }); + // The real, committed library: packages/mosaic/src/commands -> framework/fleet. const frameworkFleet = resolve( dirname(fileURLToPath(import.meta.url)),