diff --git a/.github/workflows/release-verify.yml b/.github/workflows/release-verify.yml index 7193f38c84..ecf71da950 100644 --- a/.github/workflows/release-verify.yml +++ b/.github/workflows/release-verify.yml @@ -58,18 +58,30 @@ jobs: fail-fast: false matrix: include: + # Five-way server split, matching pr-trusted.yml. Three shards sat + # at 17-19 minutes against this job's 20-minute cap after the + # server suite grew on 2026-09-10, and every canary that evening + # died on the timeout instead of reporting a verdict. - group: general-server - group_label: server (1/3) + group_label: server (1/5) shard_index: 0 - shard_count: 3 + shard_count: 5 - group: general-server - group_label: server (2/3) + group_label: server (2/5) shard_index: 1 - shard_count: 3 + shard_count: 5 - group: general-server - group_label: server (3/3) + group_label: server (3/5) shard_index: 2 - shard_count: 3 + shard_count: 5 + - group: general-server + group_label: server (4/5) + shard_index: 3 + shard_count: 5 + - group: general-server + group_label: server (5/5) + shard_index: 4 + shard_count: 5 # Keep parity with pr.yml: workspaces-a is split with Vitest's # native --shard because the ui project dominates the lane. - group: general-workspaces-a diff --git a/scripts/__tests__/release-verify-workflow.test.mjs b/scripts/__tests__/release-verify-workflow.test.mjs index 8b18a89039..cc725f15ab 100644 --- a/scripts/__tests__/release-verify-workflow.test.mjs +++ b/scripts/__tests__/release-verify-workflow.test.mjs @@ -214,11 +214,11 @@ test("release verify workflow covers the same split test surface as stable PR ve assert.match(verifyWorkflow, new RegExp(`group: ${group}`)); } - for (const shardIndex of [0, 1, 2]) { + for (const shardIndex of [0, 1, 2, 3, 4]) { assert.match( verifyWorkflow, new RegExp( - `group: general-server[\\s\\S]*?shard_index: ${shardIndex}[\\s\\S]*?shard_count: 3`, + `group: general-server[\\s\\S]*?shard_index: ${shardIndex}[\\s\\S]*?shard_count: 5`, ), ); }