ci: run the front's tests in one job rather than three shards #511

Merged
project_1_bot_05dcee5cd59f879ab35191d664847a9d merged 1 commit from ci/front-test-one-job into main 2026-10-13 13:22:00 +00:00
project_1_bot_05dcee5cd59f879ab35191d664847a9d commented 2026-10-13 12:14:58 +00:00 (Migrated from gitlab.core-project.space)

Summary

 front-test:
   image: $PLAYWRIGHT_IMAGE
-  parallel: 3
   script:
-    - pnpm turbo run test --filter=front … -- --shard="$CI_NODE_INDEX/$CI_NODE_TOTAL" --maxWorkers=3
+    - pnpm turbo run test --filter=front … -- --maxWorkers=3

The three legs ran on the same 4 CPUs, so sharding bought no parallelism. Each leg still paid its own container start, cache restore and pnpm install, plus about 10 s rebuilding the front's dependencies. The legs' Turbo hashes differ, so no leg reused another's builds. Two fewer jobs also free two runner slots per pipeline. Decision logged in infra/gitlab/DECISIONS.md, "CI speed-up".

Evidence

  • Before: pipeline 9 (!506), jobs 89–91: 118 + 69 + 76 = 263 s of runner time. Vitest itself took 30–71 s per leg; setup and builds took the rest. Each leg also queued 200–310 s for a slot.
    After: pipeline 14 (this MR), job 146: 180 s of runner time instead of 263 s (−32%), one slot instead of three. Vitest took 106 s for all 54 files (54 passed), against 146 s summed over the three legs; setup took 38 s, slowed by another job running beside it.
    Trade-off: the one job (180 s) now runs as long as e2e (167 s) and the build-workspace → build-image → review chain (about 170 s), so it no longer finishes well ahead of them. To recheck once e2e runs on 2 workers (!512): if front-test is then the only long job, two legs is a one-line change.

Merge Danger

Door: two-way

parallel: 3 comes back in one line.

Blast Radius: front-test

The one job runs the whole suite. It now has to finish within the 25-minute timeout; GitHub ran it in under 2 minutes.

## Summary ```diff front-test: image: $PLAYWRIGHT_IMAGE - parallel: 3 script: - - pnpm turbo run test --filter=front … -- --shard="$CI_NODE_INDEX/$CI_NODE_TOTAL" --maxWorkers=3 + - pnpm turbo run test --filter=front … -- --maxWorkers=3 ``` The three legs ran on the same 4 CPUs, so sharding bought no parallelism. Each leg still paid its own container start, cache restore and `pnpm install`, plus about 10 s rebuilding the front's dependencies. The legs' Turbo hashes differ, so no leg reused another's builds. Two fewer jobs also free two runner slots per pipeline. Decision logged in `infra/gitlab/DECISIONS.md`, "CI speed-up". ## Evidence - **Before:** pipeline 9 (!506), jobs 89–91: 118 + 69 + 76 = 263 s of runner time. Vitest itself took 30–71 s per leg; setup and builds took the rest. Each leg also queued 200–310 s for a slot. **After:** pipeline 14 (this MR), job 146: 180 s of runner time instead of 263 s (−32%), one slot instead of three. Vitest took 106 s for all 54 files (`54 passed`), against 146 s summed over the three legs; setup took 38 s, slowed by another job running beside it. **Trade-off:** the one job (180 s) now runs as long as `e2e` (167 s) and the `build-workspace` → `build-image` → `review` chain (about 170 s), so it no longer finishes well ahead of them. To recheck once `e2e` runs on 2 workers (!512): if `front-test` is then the only long job, two legs is a one-line change. ## Merge Danger **Door:** two-way `parallel: 3` comes back in one line. **Blast Radius:** front-test The one job runs the whole suite. It now has to finish within the 25-minute timeout; GitHub ran it in under 2 minutes.
root commented 2026-10-13 12:45:14 +00:00 (Migrated from gitlab.core-project.space)

added 4 commits

  • 1d18a122...5ab7b62d - 3 commits from branch main
  • c017945f - ci: run the front's tests in one job rather than three shards

Compare with previous version

added 4 commits <ul><li>1d18a122...5ab7b62d - 3 commits from branch <code>main</code></li><li>c017945f - ci: run the front&#39;s tests in one job rather than three shards</li></ul> [Compare with previous version](/amaurycoudr/chess-project/-/merge_requests/11/diffs?diff_id=52&start_sha=1d18a122fa9711b7a7adb2371c4d226939c1444c)
project_1_bot_05dcee5cd59f879ab35191d664847a9d commented 2026-10-13 12:45:42 +00:00 (Migrated from gitlab.core-project.space)

changed the description

changed the description
project_1_bot_05dcee5cd59f879ab35191d664847a9d commented 2026-10-13 12:48:16 +00:00 (Migrated from gitlab.core-project.space)

added 2 commits

  • 9bd3ffd6 - 1 commit from branch main
  • 712dd35d - ci: run the front's tests in one job rather than three shards

Compare with previous version

added 2 commits <ul><li>9bd3ffd6 - 1 commit from branch <code>main</code></li><li>712dd35d - ci: run the front&#39;s tests in one job rather than three shards</li></ul> [Compare with previous version](/amaurycoudr/chess-project/-/merge_requests/11/diffs?diff_id=60&start_sha=c017945f8e29d92f090ab02e131f691be2f534a6)
project_1_bot_05dcee5cd59f879ab35191d664847a9d commented 2026-10-13 12:51:21 +00:00 (Migrated from gitlab.core-project.space)

added 2 commits

  • a84b494b - 1 commit from branch main
  • 4f61cf6b - ci: run the front's tests in one job rather than three shards

Compare with previous version

added 2 commits <ul><li>a84b494b - 1 commit from branch <code>main</code></li><li>4f61cf6b - ci: run the front&#39;s tests in one job rather than three shards</li></ul> [Compare with previous version](/amaurycoudr/chess-project/-/merge_requests/11/diffs?diff_id=63&start_sha=712dd35d6d0217dfe45b833b732fc1dca935a9bc)
root (Migrated from gitlab.core-project.space) merged commit 4f61cf6b99 into main 2026-10-13 13:22:00 +00:00
Sign in to join this conversation.
No description provided.