Pre-initialization of jobs
Description
In a kubernetes environment the jobs are currently started after the previous one has finished. That's fine and logical. But it takes time, until the next job container is up and running, so the whole pipeline is delayed, if you have many stages.
Proposal
It would be great, if it would be possible to pre-initialize the next stage/jobs, so the lag would be decreased in favor of using more resources. The jobs must have to actively wait until the previous job has finished, but it could increase the whole pipeline throughput.
The assumption is, that in 90% of all pipelines there is no failing job.
For sure that must be an option, that has to be activated in general perhaps, especially per pipeline definition, perhaps also per job.
And additional step could be, that GitLab used the knowledge of execution time of the previous job and collects data of the ready-ness time of new jobs to coordinate the pre-initialization and improve the experience and resource usage even more.