From 38f5ec64c78841ec29b73b150685c8d5a052ddce Mon Sep 17 00:00:00 2001 From: Stuart Date: Mon, 5 Oct 2026 06:35:33 +1100 Subject: [PATCH] fix(canary): give the dry-run a timeout a real deploy can finish inside The canary bounded its request at 60s. A real deploy takes 103-215s, and the canary drives that same path, so every scheduled run would have failed with "timed out" - a daily false alarm, which is worse than no canary because it trains you to ignore it. 300s sits above the slowest observed deploy and below Cloud Run's 900s request cap. Verified against the live runner: at 60s it fails, at 400s it reports OK and reads the health route. --- scripts/canary-deploy.mjs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/canary-deploy.mjs b/scripts/canary-deploy.mjs index a9dd216..ae2dbd8 100644 --- a/scripts/canary-deploy.mjs +++ b/scripts/canary-deploy.mjs @@ -49,7 +49,11 @@ async function main() { "", ); const projectId = process.env.CANARY_PROJECT_ID || "automated-test-miedro"; - const timeoutMs = Number(process.env.CANARY_TIMEOUT_MS || 60000); + // A real deploy takes 103-215s (measured on the production runner), and this +// canary drives the same path, so a 60s bound made every scheduled run fail +// with "timed out" - a daily false alarm that would mask a real one. Sized +// above the slowest observed deploy and below Cloud Run's 900s request cap. +const timeoutMs = Number(process.env.CANARY_TIMEOUT_MS || 300000); const payload = { apiKey,