We prevent runners from ever using each others ports or file system state by always assigning random ports for the runners and always generating a new folder (via a random UUID) for the storage.
What are the changes implemented in this PR?
We now find as many unused ports as necessary and create a new folder with a random UUID as a name for each runner (which may contain multiple servers).
What is the goal of this PR?
We prevent runners from ever using each others ports or file system state by always assigning random ports for the runners and always generating a new folder (via a random UUID) for the storage.
What are the changes implemented in this PR?
We now find as many unused ports as necessary and create a new folder with a random UUID as a name for each runner (which may contain multiple servers).