With this commit, we are adding the initial version of vm pools. The idea is to reduce the provisioning time for github runners down by eliminating the initial provisioning time. We simply have a strand in a default project that keeps provisioning VMs until the statically defined `size` is hit. As long as there are available VMs, GithubRunner first picks them from the pool. If not, the provisioning of a new VM starts. Whenever the VM size in the pool drops below `size`, we start provisioning a new VM. In this version of the pool, we have 1 pool per runner_label. In future versions, we might specialize it even further for a customer and isolate their pool, if needed.
439 B
439 B