Re: [eigen] Continuous integration builds

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Well, I've been running our auto builds using Jenkins. At least in a standalone build, you can pass arguments to crest that will run just a subset of tests - I'd suggest checking the -h page of ctest.

If it's not already being done this way, Jenkins is a handy place to do things like build the documentation. I also use it to keep a git mirror of Eigen, among other packages. https://github.com/vancegroup-mirrors/eigen

--
Sent from my small, suspiciously phone-shaped Android tablet

On Jul 5, 2013 4:24 PM, "Gael Guennebaud" <gael.guennebaud@xxxxxxxxx> wrote:
Hi,

Last week I've started to setup a continuous integration (CI)
environment using https://ci.inria.fr (based on jenkins and
cloudstack).

Currently the entire unit tests are built and executed after each
commit are results rae reported on our cdash under the "Experimental"
section: http://manao.inria.fr/CDash/index.php?project=Eigen&display=project.
Currently, only two configurations are tested: MSVC-11/Win7, and
gcc-4.6/Linux.

As you can see, a VC build takes about 3h that is too much for that
purpose. Since I want to keep complete nightly builds, we could
imagine a cmake option that would enable only a subset of tests. For
instance, in most cases it is rather redundant to test both floats and
doubles for all tests. Ideally, we would even like to analyse the diff
with the previous build and activate only the relevant tests. However,
both sounds rather complicated.

So what about a simple random strategy? We could add a cmake parameter
taking a percentage of tests that has to be enabled, and the unit
tests (at the splited level) would be randomly picked each time cmake
is run. However, how to implement this random selection within cmake
in a cross platform manner?

There is also the question about the choice of the platforms/compilers
that are the most relevant? Again, we cannot test everything
every-times! Clearly, MSVC is a must-have since most of us are Linux
developers.

Finally, Jenkins allows to do much more than simply building and
running our tests, so if there Jenkins experts here, I'm open to
suggestions!

thanks,
Gaël.




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/