On Wed, Jun 06, 2018 at 01:01:05PM +0200, Andrea Bolognani wrote:
On Wed, 2018-06-06 at 11:28 +0100, Daniel P. Berrangé wrote:
> On Wed, Jun 06, 2018 at 11:27:38AM +0200, Andrea Bolognani wrote:
> > We will probably want to do that, since installing packages takes
> > quite a bit of time and using Docker like this apparently causes
> > jobs to serialize, which makes shaving down time all the more
> > important.
>
> When I tested it, the jobs still ran in parallel. The key difference
> is that it causes the jobs to be scheduled on the VM based infra
> in Travis instead of the container based infra. There's a slightly
> longer startup time for jobs but otherwise nothing changes. The
> jobs still took approx 25-30 minutes to complete, which is the same
> as before this change.
Doesn't match my experience: Ubuntu jobs took 30 minutes each and
the second one only started once the first one was done, meaning
the whole build took about one hour to finish. The macOS job was
running at the same time as the first Ubuntu job.
Might have been a coincidence, though.
Yeah, I think that is unrelated, because I'm definitely seeing both
ubuntu jobs running at the same time. Probably travis just didn't
have spare workers to spin up another job at the time you tested.
> Yeah, I just picked ubuntu as an initial target since it is
close
> to what we have. I would like to evolve it to have similar options
> for coverage as the main CI. Ideally at least one of centos,
> ubuntu, fedora and mingw, so 5 jobs in total including macOS.
I don't like the fact that you didn't include Debian :)
Ideally we'd also throw openSUSE into the mix, after adding it to
the CentOS CI, but as with Ubuntu that depends on getting acces to
extra capacity.
Sure I don't mind, though note that travis limits you to 5
concurrent jobs, so if we go over that, we effectively
double the time to complete the test run as later jobs will
have to wait.
In terms of core project post-commit CI, the main value is the
macOS job, as that's not overlapping with centos OS.
The other jobs are largely there for letting developers test
changes pre-posting for review/merge. So I don't think we need
to go over the top and add every platform into the travis
setup, just a reasonable set that will catch common problems
before review. Let the centos CI handle the full matrix.
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 :|