[QGIS-Developer] [PSA] Travis CI is up and running again

Matthias Kuhn matthias at opengis.ch
Thu Jul 20 00:29:42 PDT 2017


On 7/20/17 8:56 AM, Alessandro Pasotti wrote:

> That's very interesting, Alessandro
>
>
>     How are dependencies built, using some packaging system or a set
>     of scripts? Are the scripts or recipes around somewhere?
>
>
> 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.
>
> 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.
>
> BTW, the recipes are here:
> https://github.com/boundlessgeo/qgis-testing-environment-docker

Thanks for the pointer.
So you are mostly using the dependencies directly from Ubuntu 16.04
except for one dependency that you build?

>
>
>     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).
>
>  
>
>     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.
>     What do you think about this approach?
>
>     Thanks
>     Matthias
>
>
>
> 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?
Correct
>
> 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.
Normally they should be cached and not rebuilt.

> 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.
I imagine version updates happen more often. For example a new gdal
version that brings in some geopackage functionality which is covered by
a unit test.

What's the workflow here?

If this can be added directly inside a pull request this has some
advantages like

a) responsibility (even without commit rights on the qgis repo you can
build the deps in the pull request)
b) sandboxing (if the library is updated in a centralized repository and
the new gdal version kills some other unit tests we will have that also
failing on master).

>
> Will you join the hackfest? If yes we can brainstorm there!

I'll be there, we can talk about this for sure if there are still open
questions!

Thanks
Matthias

>
> Cheers
>
> -- 
> Alessandro Pasotti
> w3:   www.itopen.it <http://www.itopen.it>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20170720/16173d0c/attachment.html>


More information about the QGIS-Developer mailing list