Horde - build node resources system

Hi,

We use Horde as our build system, and looking for a way to resolve one of our issues. We want to limit the number of running concurrent build nodes. I know it is possible to specify the maximum number of running builds of a specific type at the same time. And we need something similar for nodes. Let’s say we have 50 build agents using SN-DBS, but we want to limit the number of compilations to 10 at the same time. Right now there is no way how do it. We can dedicate only 10 agents to compile, but then we have to split the template to use more agents - more data moving to/from the shared Artifacts drive, and also the flexibility is not high.

I used TeamCity at my previous job, and they have a shared resource system https://www.jetbrains.com/help/teamcity/shared-resources.html#Using+Shared+Resources+in+Build+Configurations. It is still not solving our issue fully, but it is a good starting point. As a node, it would be nice to define the resources needed to do the job (ideally with priorities). Once the node job is started, it is blocked until the resources are allocated and resources are freed after the node job is done.

Another example, of when to use it, is to put new binaries in P4. It can happen two or more builds want to push new binaries at the same time and only one can succeed. This resource system should resolve it also, there will be only one resource available.

Or do you have any other idea or approach to how to deal with this?

Thank you

Marek Novosad, Hangar 13