From 358cc938dae4bede93b8b3851c85c85e90701205 Mon Sep 17 00:00:00 2001 From: Bart Waardenburg Date: Mon, 13 Jul 2026 21:34:13 +0200 Subject: [PATCH] fix(ci): allow multi-binary size checks to finish The binary-size workflow began building LSP, MCP, and multicall release artifacts but retained a budget sized for the CLI-only job. Raise the timeout to 30 minutes and guard the minimum budget with a workflow policy test. --- .github/workflows/bloat.yml | 2 +- scripts/workflow-policy.test.mjs | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/bloat.yml b/.github/workflows/bloat.yml index e6b62c6bf..a62c24b97 100644 --- a/.github/workflows/bloat.yml +++ b/.github/workflows/bloat.yml @@ -35,7 +35,7 @@ jobs: bloat: name: Binary size tracking runs-on: ubuntu-latest - timeout-minutes: 20 + timeout-minutes: 30 permissions: contents: write pull-requests: write diff --git a/scripts/workflow-policy.test.mjs b/scripts/workflow-policy.test.mjs index 4e2a8393e..e1ca897f7 100644 --- a/scripts/workflow-policy.test.mjs +++ b/scripts/workflow-policy.test.mjs @@ -42,6 +42,15 @@ test("workflow block parser rejects missing keys", () => { assert.throws(() => indentedBlock("root:\n value: true", "missing", 0), /missing missing block/); }); +test("binary-size workflow budgets time for every shipped binary", () => { + const workflow = readWorkflow(".github/workflows/bloat.yml"); + const job = indentedBlock(workflow, "bloat", 2); + const timeout = Number(job.match(/timeout-minutes: (\d+)/)?.[1]); + + assert.match(job, /cargo build --release -p fallow-lsp -p fallow-mcp -p fallow-multicall/); + assert.ok(timeout >= 30, `multi-binary size tracking needs at least 30 minutes, got ${timeout}`); +}); + test("regular CI keeps affected checks on Ubuntu", () => { const workflow = readWorkflow(".github/workflows/ci.yml"); const checkJob = indentedBlock(workflow, "check", 2);