Refactor job dependencies with needs and no change detection
What does this MR do?
In MRs: the first job for each OS is manual, then each OS proceeds independently
In main
: all jobs are executed, and the needs
keyword makes sure OS versions don't block each other across stages (for example release next
and toolchain 13
can proceed even if base 12
is still building).
Why was this MR needed?
Because we currently attempt to do change detection, it is possible that some jobs will disappear from the pipelines. So we can't use the needs
keyword to speed-up the pipeline by starting xcode builds or runner builds early. From experience, this is has a bigger toll than is gained by the few times where change detection has been able to work.
What's the best way to test this MR?
What are the relevant issue numbers?
Edited by Adrien Kohlbecker