Properly configure CI
kba opened this issue · 10 comments
It seems like the Circle CI continuous integration never worked. We can configure it with a circle.yml file, I can do that but I wouldn't know what to actually test beyond compilation.
I'm actually able to configure the CircleCI setup from within the web interface. Upgraded to run on 14.04 now, trying to get the dependencies right.
I am fine that the tests would just show us whether compilation is working or not. This sounds like a reasonable and doable start. Afterwards we could look closer at the tests which are already part of the repo, e.g. https://github.com/tmbdev/clstm/blob/master/run-tests
https://github.com/tmbdev/clstm/blob/master/run-tests those are a bit heavy for testing PRs (multiple recompilations etc.)
Compilation works and CircleCI is training away on the cmu set https://circleci.com/gh/tmbdev/clstm/96. I'll wait and see how that goes but eventually I'll just set echo "No tests yet"
as the test command so we can at least smoke test pull requests until we come up with a simpler test.
After two hours CircleCI stopped the build. After disabling the test as described, build passes. Takes about 2:30 minutes for fetching dependencies and compiling.
Okay, this means we are testing currently if it can be installed, right?
Right.
Last I tried CI, the C++ compilers that the services had available were too outdated to work properly, and they lacked some C++ prerequisites. That's why I gave up on it temporarily.
TensorFlow uses Jenkins; maybe that's worth pursuing. CircleCI with Docker might be another route.
Per default, CircleCI runs Ubuntu 12.04 containers but can be changed to 14.04 and after I did, it's a really nice service, easier to configure and more flexible than Travis, you can SSH into failed builds, parallelize etc.
They added Ubuntu 14.04 support in Feb 2016.
It's now the Default OS for New Projects
g++ 4.8 and 4.9 are available. It's possible to download deb packages for newer g++ and cache them.