WIP: Optimise runner builds matching
What does this MR do?
I'm trying to simplify our code for matching the builds and make it always to be pure-sql rather than mixed SQL and Rails.
This generally improves the performance of matching as it:
- Removes expensive
can_pick?
call, - Updating runners is done now with single SQL statement that finds all eglictable runners.
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary -
Documentation created/updated -
API support added -
Tests added for this feature/bug - Conform by the code review guidelines
-
Has been reviewed by a UX Designer -
Has been reviewed by a Frontend maintainer -
Has been reviewed by a Backend maintainer -
Has been reviewed by a Database specialist
-
-
Conform by the merge request performance guides -
Conform by the style guides -
If you have multiple commits, please combine them into a few logically organized commits by squashing them -
Internationalization required/considered -
End-to-end tests pass ( package-and-qa
manual pipeline job)