Lock resource across runner rather than just project (Resource group for runners)

Hi I’m hoping you can help.

I’m self hosting gitlab and both it and the runners are on 14.7.0

I have multiple ue4 projects that are being built on the same runner but there can only be one instance of the tool used to build them running at any one time (UAT). resource groups work great for a single project but not when there are multiple projects.

I am currently working around this issue by having an external service that holds a queue and serves as a lock and having dedicated jobs in the project pipelines that push, check and pop job ids form this queue but as you can imagine this is a rather fragile solution and I’m hoping there is a native one that I have missed.

I am facing similar issue. I have a job A and two separate runners. Only single job A can be run on a single runner (meaning two jobs A can be run at the same time if I have two runners etc).

Is there a possibility to set a resource group on runner level?
Or maybe there is another solution to deal with this kind of a problem?