On Wed, 2020-03-25 at 10:54 +0000, Daniel P. Berrangé wrote: > On Wed, Mar 25, 2020 at 11:48:35AM +0100, Andrea Bolognani wrote: > > Given the intentions, I think the current split can be improved > > further: having cross_build as a separate stage from native_build > > means that the former has to wait before the latter is done to even > > start, and that makes wait times longer. > > By default jobs in a stage get given a dependency > > "needs: [.... jobs from prev stage...]" > > which serializes each stage, but that is not mandatory. We can > set the stages to allow parallel execution across stages using > an explicit 'needs: []'. So we can keep stage as a conceptual > grouping without affecting parallelism. I didn't know about that! Anyway, even at the conceptual level splitting the jobs across smoke tests and full coverage makes more sense to me than splitting them across native builds, cross builds and... More native builds? That's basically surfacing an implementation details at the UI level, so I'm not too keen on that. If you feel strongly about having the cross builds separated from the native ones, maybe we can adopt an hybrid approach where we have stages: - artifacts - smoke_native + smoke_cross # these run in parallel using the - full_native + full_cross # trick you described above but I'm not sure this is easy, or even possible, to implement. -- Andrea Bolognani / Red Hat / Virtualization