Jobs only being picked up by community runners, not our own

All our jobs were taking an inordinate amount of time on community runners (average docker build was taking 45 minutes) so I spun up a couple of runners on DigitalOcean. Initially, this went really well, builds were down to 7 minutes. I left access to the community runners on to pick up extra jobs that our runners couldn’t, since we’re a non-profit and the $50/mo for these runners was about all I could squeeze in our budget. In the last couple of days, I’ve noticed that even though our runners report as healthy and I can’t find any issues with them, our jobs are always picked up by community runners; our runners are doing nothing, and our builds are back to 45 minutes.

I’m using, the runners are on version 13.12.0. No tags are involved with runner selection. All help appreciated!

I have noticed the same thing in my projects. When I disable the shared runners, my own runners are used flawlessly. I have also noticed that my own runners are reported as “last seen: some x ago”, see here: Gitlab runner not maintaining contact with Is that also the case for you?

To clarify: the “last seen” time is updated whenever the runner starts or while it is running a job, but not while it polls for jobs. Maybe that causes Gitlab to immediately delegate to the shared runners.

Mine do have specific last contact times. They are running jobs, but in the last week they’ve run about 1 or 2 jobs each. Right now last contact is 23 and 24 minutes ago, but sometimes it’s “just now”.