From 76dcf370e6ffc104faa56931a675adc6e9e33586 Mon Sep 17 00:00:00 2001 From: Joao Paulo Furtado Date: Sat, 3 Oct 2026 01:24:27 -0700 Subject: [PATCH] ci: template legs pinned hosted again, so every board fills both pools --- .github/workflows/ci.yml | 7 ++++--- scripts/__tests__/ci-structure.spec.ts | 5 ++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 80cac8acc6..90029ae39e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -836,9 +836,10 @@ jobs: - { template: starter, shard: "2/3" } - { template: starter, shard: "3/3" } - { template: tower-defense, shard: "1/1" } - # Balanced like the rest: the pool advertises itself only while a runner is idle, so these legs - # take local slots when free and overflow to hosted otherwise, never queueing behind the pool. - runs-on: ${{ (github.event.pull_request.head.repo.fork || !vars.TN_RUNNER) && 'ubuntu-24.04' || vars.TN_RUNNER }} + # Hosted on purpose: a board releases ~25 template legs at once, and one routing variable sends a + # burst to a single pool. Pinned here, they fill hosted while the balancer routes builds and tests + # to the local pool, so every board uses both (run 37107207898: legs waited 27 min, local idle). + runs-on: ubuntu-24.04 timeout-minutes: 30 env: TN_CI_SHA: ${{ needs.scope.outputs.candidate_sha }} diff --git a/scripts/__tests__/ci-structure.spec.ts b/scripts/__tests__/ci-structure.spec.ts index a044a7817c..8862aec965 100644 --- a/scripts/__tests__/ci-structure.spec.ts +++ b/scripts/__tests__/ci-structure.spec.ts @@ -1067,7 +1067,10 @@ describe("CI pipeline structure", () => { // release writes on GitHub's own machines. const hosted = new Map>([ // golden-path-template runs hosted: its dev server twice failed to answer on a local slot (run 37089715252). - [".github/workflows/ci.yml", new Set(["golden-path-template", "supply-chain"])], + [ + ".github/workflows/ci.yml", + new Set(["golden-path-template", "supply-chain", "template-nonvisual"]), + ], [ ".github/workflows/native-platforms.yml", // publish-android-v8 writes the release; android-emulator-parity is CPU-bound SwiftShader that