I have 256 self-hosted runners, and a workflow that uses a 4^4 matrix:
strategy: matrix: ix1: [ 0, 1, 2, 3 ] ix2: [ 0, 1, 2, 3 ] ix3: [ 0, 1, 2, 3 ] ix4: [ 0, 1, 2, 3 ]
When no other builds are running (all my runners are idle), I’m seeing very delayed behavior from GH actions before my builds even start.
The UI shows “X queued checks” at a rate of around 4 per second (ie, “4 queued checks”, “8 queued checks”, etc), before it finally gets to 256 checks queued. It takes a full 1min 40sec before the first of my runners even receives a message and starts building.
I don’t even understand why there’s any queuing going on at all – shouldn’t the builds start (almost) immediately? What’s actually queuing here? All of the runners are idle and ready to receive builds.
Is there anything I can do to speedup these builds – each build itself takes much less than the time it takes to queue the checks!