From 19559a7f6eaca9db2f322975a0e7ff4666b41c82 Mon Sep 17 00:00:00 2001 From: Sean Larkin <3408176+TheLarkInn@users.noreply.github.com> Date: Tue, 20 Oct 2026 22:32:04 +0000 Subject: [PATCH 1/3] [rush-client-core] Allow slow daemon startup in queued resend tests Give the real-process queued-request resend suite a 30-second default instead of Jest4s 5 seconds. This fixes the timeout in RushStack NPM Publish 12838 without changing runtime deadlines, assertions, or explicit per-test bounds. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 196de551-3c6b-4904-ba03-e5c830ee0dbe --- .../rush-client-core/src/test/QueuedRequestResend.test.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libraries/rush-client-core/src/test/QueuedRequestResend.test.ts b/libraries/rush-client-core/src/test/QueuedRequestResend.test.ts index 4b1c442a02..e156dc9a95 100644 --- a/libraries/rush-client-core/src/test/QueuedRequestResend.test.ts +++ b/libraries/rush-client-core/src/test/QueuedRequestResend.test.ts @@ -30,6 +30,9 @@ import { connectOrStartDaemonAsync, type IConnectOrStartDaemonOptions } from '.. import { executeWithDaemonRestartAsync, type IDaemonRestartNotice } from '../executeWithDaemonRestart'; import { removeTestFolderAsync, waitForTestProcessExitAsync } from './TestProcessExit'; +// Starting and replacing real daemon processes can exceed Jest's default 5 seconds on a busy CI agent. +jest.setTimeout(30_000); + function readIfPresent(filePath: string): string { return fs.existsSync(filePath) ? fs.readFileSync(filePath, 'utf8') : ''; } From d4b1621be34e17c21a9143b9bbe6158290ea44b8 Mon Sep 17 00:00:00 2001 From: Sean Larkin <3408176+TheLarkInn@users.noreply.github.com> Date: Tue, 20 Oct 2026 22:40:27 +0000 Subject: [PATCH 2/3] [rush-client-core] Record test-only timeout change Add the required no-release change description for the queued-request resend integration test fix. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 196de551-3c6b-4904-ba03-e5c830ee0dbe --- ...sh-client-publish-timeout_2026-10-20-22-38-02.json | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 common/changes/@rushstack/rush-client-core/user-selarkin-bot-rush-client-publish-timeout_2026-10-20-22-38-02.json diff --git a/common/changes/@rushstack/rush-client-core/user-selarkin-bot-rush-client-publish-timeout_2026-10-20-22-38-02.json b/common/changes/@rushstack/rush-client-core/user-selarkin-bot-rush-client-publish-timeout_2026-10-20-22-38-02.json new file mode 100644 index 0000000000..7e72d998b3 --- /dev/null +++ b/common/changes/@rushstack/rush-client-core/user-selarkin-bot-rush-client-publish-timeout_2026-10-20-22-38-02.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Allow slow daemon startup in queued-request resend integration tests.", + "type": "none", + "packageName": "@rushstack/rush-client-core" + } + ], + "packageName": "@rushstack/rush-client-core", + "email": "3408176+TheLarkInn@users.noreply.github.com" +} \ No newline at end of file From 55d8233cea288dfbf0f3822929ca0bb934524375 Mon Sep 17 00:00:00 2001 From: Sean Larkin <3408176+TheLarkInn@users.noreply.github.com> Date: Wed, 21 Oct 2026 20:42:39 +0000 Subject: [PATCH 3/3] [package-deps-hash] Allow slow Git startup in sequential state test Give only the multi-command integration test a 30-second budget. Keep all state comparisons and production behavior unchanged. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 02159fef-9769-4d90-bd3d-7f1c7be585c9 --- ...sh-client-publish-timeout_2026-10-21-20-40-00.json | 11 +++++++++++ .../package-deps-hash/src/test/RepoStateCache.test.ts | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 common/changes/@rushstack/package-deps-hash/user-selarkin-bot-rush-client-publish-timeout_2026-10-21-20-40-00.json diff --git a/common/changes/@rushstack/package-deps-hash/user-selarkin-bot-rush-client-publish-timeout_2026-10-21-20-40-00.json b/common/changes/@rushstack/package-deps-hash/user-selarkin-bot-rush-client-publish-timeout_2026-10-21-20-40-00.json new file mode 100644 index 0000000000..452b117e12 --- /dev/null +++ b/common/changes/@rushstack/package-deps-hash/user-selarkin-bot-rush-client-publish-timeout_2026-10-21-20-40-00.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Allow slow Git process startup in the sequential repository-state integration test.", + "type": "none", + "packageName": "@rushstack/package-deps-hash" + } + ], + "packageName": "@rushstack/package-deps-hash", + "email": "3408176+TheLarkInn@users.noreply.github.com" +} diff --git a/libraries/package-deps-hash/src/test/RepoStateCache.test.ts b/libraries/package-deps-hash/src/test/RepoStateCache.test.ts index bb128e7590..8ba8aaa288 100644 --- a/libraries/package-deps-hash/src/test/RepoStateCache.test.ts +++ b/libraries/package-deps-hash/src/test/RepoStateCache.test.ts @@ -1352,6 +1352,7 @@ describe(RepoStateCache.name, () => { expect(carryOverSpy.mock.results).toEqual([{ type: 'return', value: undefined }]); }); + // Allow for the many real Git processes launched sequentially, especially on Windows. it('returns the same state as getDetailedRepoStateAsync after each command', async () => { const carryOverSpy: jest.SpyInstance = jest.spyOn(GitIndexFile, 'tryCarryOverGitIndexCaches'); const commands: (() => void)[] = [ @@ -1381,7 +1382,7 @@ describe(RepoStateCache.name, () => { carryOverSpy.mock.results.filter(({ value }: jest.MockResult) => value) ).not.toHaveLength(0); } - }); + }, 30000); itUnlessWindows( 'computes the state without the cache when the attributes changed since the previous copy',