Good grief. We are compiling GeoTools twice for every Travis build. This is a large part of the frequent Travis timeout failures we see.

Because GeoTools has a pom.xml in its root directory (note that GeoServer does not), Travis detects it as a Maven project and tries to resolve all dependencies before running the build script. Supposedly this is to allow hygienic separation between dependency download and the build itself. However, the command Travis uses is:

mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V

This will most surely resolve all dependencies, but it also compiles and installs everything. I looked at one build and this phase took 22 minutes; the main build took 24 minutes. I made a test branch skipping this phase and the entire build took only 21 minutes.

The fix is mentioned here:
https://stackoverflow.com/questions/31945809/skip-first-mvn-install-in-travis-ci
and documented here:
https://docs.travis-ci.com/user/customizing-the-build/#Customizing-the-Installation-Step
On the test branch, in .travis.yml I added:

install: true

This is not a boolean; it configures the install step to be running the executable /bin/true, which returns immediately with success. This has the effect of disabling the install step.

I am going to apply this change to all active branches.

Kind regards,

--
Ben Caradoc-Davies <b...@transient.nz>
Director
Transient Software Limited <http://transient.nz/>
New Zealand

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to