Skip to content

Commit 1ace71a

Browse files
committed
test(ci): count the windows runner-selector job in the bounded-jobs gate
The self-hosted-runner selector landed with its own 2-minute bound, so the hardening test now asserts all three bounded jobs instead of failing on the third timeout-minutes entry.
1 parent aeb7423 commit 1ace71a

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

tests/ci-workflows.test.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,13 @@ describe("GitHub Actions hardening", () => {
3434
// The cross-platform `test` job sits at 20 minutes: a green Windows run measured
3535
// 11.8 min against 4.6 on Linux, and the previous 12-minute ceiling left ~12s of
3636
// margin, so runner variance rather than the code decided the verdict (#717).
37-
// `npm-global-smoke` stays at 8; it finishes in 1-2 minutes.
37+
// `npm-global-smoke` stays at 8; it finishes in 1-2 minutes. The windows-runner
38+
// selector job is bounded at 2 minutes — it only picks a label.
3839
expect(count(workflow, "timeout-minutes: 20")).toBe(1);
3940
expect(count(workflow, "timeout-minutes: 8")).toBe(1);
40-
// Both jobs must stay bounded — an unbounded job can hang a queue for hours.
41-
expect(count(workflow, "timeout-minutes:")).toBe(2);
41+
expect(count(workflow, "timeout-minutes: 2\n")).toBe(1);
42+
// Every job must stay bounded — an unbounded job can hang a queue for hours.
43+
expect(count(workflow, "timeout-minutes:")).toBe(3);
4244
expect(workflow).toContain("actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0");
4345
expect(workflow).toContain("oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6");
4446
expect(workflow).toContain("actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e");

0 commit comments

Comments
 (0)