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/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 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', 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') : ''; }