<div dir="ltr">On Thu, Jul 20, 2017 at 8:39 AM, Matthias Kuhn <span dir="ltr"><<a href="mailto:matthias@opengis.ch" target="_blank">matthias@opengis.ch</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF"><div><div class="gmail-h5">
<p>On 7/19/17 6:59 PM, Alessandro Pasotti wrote:<br>
</p>
<blockquote type="cite">
<div dir="ltr">On Wed, Jul 19, 2017 at 5:53 PM, Matthias Kuhn <span dir="ltr"><<a href="mailto:matthias@opengis.ch" target="_blank">matthias@opengis.ch</a>></span>
wrote:<br>
<div class="gmail_extra">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
Travis CI stopped working today and reported nothing but
failures.<br>
<br>
# The good news<br>
<br>
It's up and running again.<br>
<br>
# Affected pull requests<br>
<br>
If you have a pull request which errored, either push a
new commit to<br>
your branch (if you have something that you wanted to push
anyway) or<br>
close and reopen the pull request.<br>
<br>
# Cause<br>
<br>
It was caused by the switch of the default distribution
from precise to<br>
trusty. (Read more about it here<br>
<a href="https://blog.travis-ci.com/2017-07-11-trusty-as-default-linux-is-coming" rel="noreferrer" target="_blank">https://blog.travis-ci.com/201<wbr>7-07-11-trusty-as-default-linu<wbr>x-is-coming</a>).<br>
Right now it's quite easy to revert (once you know what's
actually going<br>
on).<br>
<br>
# Perspective<br>
<br>
Mid-term we will have to migrate to something newer
though.<br>
Travis also offers support for trusty but that's quite old
as well. We<br>
are currently looking into a couple of different
approaches like<br>
building our depencies for trusty and shipping them via a
ppa or using a<br>
docker container with the dependencies. The main
requirement is that the<br>
whole dependency build process is scripted and can be done<br>
collaboratively (something the current osgeo4travis
dependencies don't<br>
fulfill which I'm eager to retire).<br>
<br>
Cheers<br>
Matthias<br clear="all">
</blockquote>
<div><br>
<br>
</div>
<div>Thanks Matthias for the good news, you know we (@
boundless) have an established workflow for nightly builds
of docker QGIS testing images, basically the docker images
are build with Vagrant on AWS through a jenkins task that
schedules the builds and pushes them to docker hub.<br>
<br>
</div>
<div>The images are then pulled by Travis and the tests are
run inside the docker images on Travis.<br>
</div>
<div><br>
</div>
<div>Maybe something similar can be developed for the
dependencies, please le me know if we can help.<br>
</div>
</div>
</div>
</div>
</blockquote>
<br></div></div>
That's very interesting, Alessandro<br>
<br>
How are dependencies built, using some packaging system or a set of
scripts? Are the scripts or recipes around somewhere?<br></div></blockquote><div><br></div><div>Oh, sorry for not being clear, we are not building dependencies but only QGIS itself, but I think that the general workflow could be used for building the dependencies in the docker instead of QGIS and push the image to docker HUB.<br><br></div><div>So, when Travis starts, it will pull the pre-built docker image with all dependencies already built and either install them in Travis and build QGIS or build QGIS inside the docker "inside" Travis.<br></div><div><br></div><div>BTW, the recipes are here: <a href="https://github.com/boundlessgeo/qgis-testing-environment-docker">https://github.com/boundlessgeo/qgis-testing-environment-docker</a><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div bgcolor="#FFFFFF">
<br>
We were wondering if this could be done directly on travis before
the build starts (skipping any package that is already up to date in
the cache).<br></div></blockquote><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div bgcolor="#FFFFFF">
The nice benefit of this compared to a separate build as you are
doing on AWS would be that if something needs a new dependency
(thinking of qca, qtkeychain, ...) it can directly integrated in the
same pull request.<br>
What do you think about this approach?<br>
<br>
Thanks<span class="gmail-HOEnZb"><font color="#888888"><br>
Matthias</font></span><span class="gmail-"><br>
<br></span></div></blockquote><div><br><br><div>I'm not sure I get it right, do you mean that you want to build the dependencies on Travis within the same job that builds QGIS?<br><br></div><div>I
think that this would add a considerable time, that's why we are
building on AWS and pull the pre-built docker, but I guess that the goal
is completely different.<br><br></div><div>I was thinking that the
dependencies do not vary frequently, hence we should be able to build
the dependencies docker nightly and when the main QGIS Travis job starts
we can pull the docker with the dependencies substantially lowering the time needed
to run the entire job.<br></div></div></div><br></div><div class="gmail_extra">Will you join the hackfest? If yes we can brainstorm there!<br><br></div><div class="gmail_extra">Cheers<br clear="all"></div><div class="gmail_extra"><br>-- <br><div class="gmail_signature">Alessandro Pasotti<br>w3: <a href="http://www.itopen.it" target="_blank">www.itopen.it</a></div>
</div></div>