
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