[libvirt PATCH v2 6/9] gitlab: add x86_64 native CI jobs

Daniel P. Berrangé berrange at redhat.com
Thu Mar 26 12:38:13 UTC 2020


On Wed, Mar 25, 2020 at 12:42:41PM +0100, Andrea Bolognani wrote:
> On Wed, 2020-03-25 at 11:30 +0000, Daniel P. Berrangé wrote:
> > On Wed, Mar 25, 2020 at 12:18:00PM +0100, Andrea Bolognani wrote:
> > > On Wed, 2020-03-25 at 10:54 +0000, Daniel P. Berrangé wrote:
> > > > 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.
> > 
> > The reason I think these should be different is that we're doing
> > different levels of testing on them. Native builds are full tests
> > (make distcheck), where as cross builds are build only (make all).
> > 
> > Similarly the extra native builds are not repeating the full
> > distcheck as that's overkill (just make check).
> 
> Okay, that's somewhat reasonable, though I'm still not entirely
> convinced this is something that we need to put quite as front and
> center as you have.
> 
> Can you provide an implementation where the first batch of native and
> cross builds are executed in parallel, to demonstrate that goal can
> be achieved with code that's not too complicated or brittle? That's
> my main concern at this point.

I tried this & it could work but then I looked a ccache and determined
that it cuts the build time by about 50%, down to < 20 minutes. With
this in mind, I don't think we need to worry about playing games with
dependencies. The build will be faster again when we have meson because
the meson build is more efficient, but also because there's no need for
a heavyweight "distcheck" concept with meson.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




More information about the libvir-list mailing list