Add a Resource Group process_mode that functions similar to oldest_first but sorts by job_id instead of pipeline_id

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Release notes

Add a process_mode to Resource Groups that chooses the next job to run based on job_id instead of pipeline_id

Problem to solve

Currently when Resource Groups are used and jobs are waiting for resources, when using oldest_first the next job to run is selected by the pipeline id. As a side-effect, this causes jobs that are retried to "jump the queue", and running before jobs that have been in the queue longer.

Proposal

A process mode similar to oldest_first, that doesn't allow retries to jump the queue. This should work if they're picked based on the oldest job id instead of the pipeline id.

Intended users

Edited by 🤖 GitLab Bot 🤖