Today a full run takes 1h45m.
This is mostly due to all tests running in a single go process, with parallel limited to the number of CPU cores.
If we split this monolith into 10+ test suites, running each suite as it's own process we should see a dramatic speed improvement.
We would also be able to target re-runs instead of needing to re-run all suites if a single test fails.
Investigate how we could best do this.
Github actions may be a limiting factor - could Jenkins help here?