chore(ci): parallelise CI jobs now the runner has capacity >1, without re-triggering the e2e OOM #127

Closed
opened 2026-07-23 14:41:12 +00:00 by not · 0 comments
Contributor

The self-hosted runner's capacity was raised from 1 to 2, so the six CI jobs (which have no needs: between them) now schedule concurrently instead of serially.

Problem: two of the jobs are memory-heavy — mutation (Stryker spins up many test processes) and verify-stack (brings up the entire compose stack + a Playwright browser). If the scheduler pairs those two on the single shared host, it re-creates exactly the memory contention that timed out the e2e on #126 (OOM history: commit d5e5fa2).

Change:

  • Order verify-stack after mutation (needs: [mutation], if: !cancelled()) so the two heavy jobs never co-schedule, while verify-stack still runs even when the mutation ratchet fails. The light .NET/frontend jobs stay dependency-free and parallelise up to runner capacity.
  • Add a workflow concurrency group so a new push to the same branch/PR supersedes the previous run, freeing the runner's slots instead of spending them on commits nobody is waiting for.

No app code changes; the gate is CI itself staying green with the new layout.

The self-hosted runner's `capacity` was raised from 1 to 2, so the six CI jobs (which have no `needs:` between them) now schedule concurrently instead of serially. **Problem:** two of the jobs are memory-heavy — `mutation` (Stryker spins up many test processes) and `verify-stack` (brings up the entire compose stack + a Playwright browser). If the scheduler pairs those two on the single shared host, it re-creates exactly the memory contention that timed out the e2e on #126 (OOM history: commit d5e5fa2). **Change:** - Order `verify-stack` after `mutation` (`needs: [mutation]`, `if: !cancelled()`) so the two heavy jobs never co-schedule, while `verify-stack` still runs even when the mutation ratchet fails. The light .NET/frontend jobs stay dependency-free and parallelise up to runner capacity. - Add a workflow `concurrency` group so a new push to the same branch/PR supersedes the previous run, freeing the runner's slots instead of spending them on commits nobody is waiting for. No app code changes; the gate is CI itself staying green with the new layout.
not added the type:chorearea:infra labels 2026-07-23 14:41:12 +00:00
not closed this issue 2026-07-23 15:18:17 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: eho/register-referentie#127