This is possible with github actions. Have one job create a matrix of other jobs for each of your runners.
Use self hosted runners if you are worried about costs or have special requirements.
Use self hosted runners if you are worried about costs or have special requirements.
When setting up github actions matrix, we have a choice of either (1) build before every test (+20 minutes per test) or (2) making a huge docker image and upload it, and download it for each worker, which also is 20+ minutes or more.
You can use github actions if you just use github to allocate nodes, and do all the work with your custom test scheduler, but then you are starting on the road of rewriting the CI/CD for yourself.