From b699a93c87101df3afe29bbcbe69852859c29cdf Mon Sep 17 00:00:00 2001 From: Dallin Romney Date: Mon, 27 Jul 2026 12:18:20 +0800 Subject: [PATCH] fix(qa): stop live config waits from timing out (#114112) * fix(ci): start QA script scenarios in parallel * fix(qa): stop false live config waits --- .../shared/live-gateway-config.runtime.test.ts | 8 ++++---- .../live-transports/shared/live-gateway-config.runtime.ts | 5 +++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/extensions/qa-lab/src/live-transports/shared/live-gateway-config.runtime.test.ts b/extensions/qa-lab/src/live-transports/shared/live-gateway-config.runtime.test.ts index 8fb40de3688e..d599c1c66c3e 100644 --- a/extensions/qa-lab/src/live-transports/shared/live-gateway-config.runtime.test.ts +++ b/extensions/qa-lab/src/live-transports/shared/live-gateway-config.runtime.test.ts @@ -65,13 +65,13 @@ describe("live QA gateway config", () => { .mockResolvedValueOnce({ hash: "next" }) .mockResolvedValueOnce({ hash: "next", - configRevisionHash: "current", - appliedConfigHash: "current", + configRevisionHash: "runtime-next", + appliedConfigHash: "runtime-current", }) .mockResolvedValueOnce({ hash: "next", - configRevisionHash: "next", - appliedConfigHash: "next", + configRevisionHash: "runtime-next", + appliedConfigHash: "runtime-next", }); const patching = patchLiveQaGatewayConfig({ diff --git a/extensions/qa-lab/src/live-transports/shared/live-gateway-config.runtime.ts b/extensions/qa-lab/src/live-transports/shared/live-gateway-config.runtime.ts index 70de5b5b328c..70df11644b0e 100644 --- a/extensions/qa-lab/src/live-transports/shared/live-gateway-config.runtime.ts +++ b/extensions/qa-lab/src/live-transports/shared/live-gateway-config.runtime.ts @@ -38,10 +38,11 @@ async function waitForLiveQaGatewayConfigApplied(params: { configRevisionHash: status.configRevisionHash, hash: status.hash, }; + // The persisted raw-config hash and normalized runtime revision use different encodings. if ( status.hash === params.expectedHash && - status.configRevisionHash === params.expectedHash && - status.appliedConfigHash === params.expectedHash + typeof status.configRevisionHash === "string" && + status.appliedConfigHash === status.configRevisionHash ) { return; }