aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorJJ Liebig <jonathan.liebig@gmail.com>2026-09-13 17:26:30 +0400
committerGitHub <noreply@github.com>2026-09-13 15:26:30 +0200
commit540b20fdf0bb653c6cfed34cc1f3c10c129c99e6 (patch)
treede1ad41c4dd65d5c733fc0ca09cf81a980dbd0a3 /scripts
parent858ad4e37835d45819f3348d521c29af2fa9eb8d (diff)
test: relax windows docs snapshot timeout (#4049)
Windows CI runs these documentation contract fixtures under variable load. A degraded runner pushed the preview and versions snapshot integration tests past their 30s ceiling, while a healthy run finishes in seconds. Keep 30s elsewhere and give Windows a 120s ceiling.
Diffstat (limited to 'scripts')
-rw-r--r--scripts/docs/preview.integration.test.ts9
-rw-r--r--scripts/docs/versions.integration.test.ts7
2 files changed, 13 insertions, 3 deletions
diff --git a/scripts/docs/preview.integration.test.ts b/scripts/docs/preview.integration.test.ts
index 789c5d31..b74ac4ec 100644
--- a/scripts/docs/preview.integration.test.ts
+++ b/scripts/docs/preview.integration.test.ts
@@ -7,6 +7,11 @@ import { tmpdir } from 'node:os';
const script = resolve(import.meta.dir, 'preview.mjs');
const temporaryDirectories: string[] = [];
+// The fixture shells out to node and git many times. A healthy Windows runner
+// finishes in seconds, but a degraded one can run an order of magnitude slower,
+// so keep a generous ceiling instead of making the suite a load-sensitive flake.
+const fixtureTimeoutMs = process.platform === 'win32' ? 120_000 : 30_000;
+
afterEach(async () => {
await Promise.all(
temporaryDirectories.splice(0).map((path) => rm(path, { recursive: true, force: true })),
@@ -27,7 +32,7 @@ describe('preview documentation snapshots', () => {
'selected preview\n',
);
await expect(read(root, 'docs/preview/website/stale.mdx')).rejects.toThrow();
- }, 30_000);
+ }, fixtureTimeoutMs);
test('rejects snapshot drift', async () => {
const root = await fixture();
@@ -37,7 +42,7 @@ describe('preview documentation snapshots', () => {
await write(root, 'docs/preview/website/src/content/docs/index.mdx', 'changed\n');
expect(() => runScript(root, ['check'])).toThrow();
- }, 30_000);
+ }, fixtureTimeoutMs);
});
async function fixture() {
diff --git a/scripts/docs/versions.integration.test.ts b/scripts/docs/versions.integration.test.ts
index a52be1be..9731d3c0 100644
--- a/scripts/docs/versions.integration.test.ts
+++ b/scripts/docs/versions.integration.test.ts
@@ -7,6 +7,11 @@ import { tmpdir } from 'node:os';
const script = resolve(import.meta.dir, 'versions.mjs');
const temporaryDirectories: string[] = [];
+// The fixture shells out to node and git many times. A healthy Windows runner
+// finishes in seconds, but a degraded one can run an order of magnitude slower,
+// so keep a generous ceiling instead of making the suite a load-sensitive flake.
+const fixtureTimeoutMs = process.platform === 'win32' ? 120_000 : 30_000;
+
afterEach(async () => {
await Promise.all(
temporaryDirectories.splice(0).map((path) => rm(path, { recursive: true, force: true })),
@@ -103,7 +108,7 @@ describe('documentation release publishing', () => {
delete archivedManifest.versions[0].commit;
await write(root, 'docs/versions/manifest.json', `${JSON.stringify(archivedManifest)}\n`);
expect(() => runScript(root, ['check'])).toThrow();
- }, 30_000);
+ }, fixtureTimeoutMs);
});
async function write(root: string, path: string, content: string) {