-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Travis: switch to xenial build environment and add clang and C++11 jobs #195
base: master
Are you sure you want to change the base?
Conversation
Signed-off-by: Johannes Meyer <[email protected]>
Signed-off-by: Johannes Meyer <[email protected]>
Different gcc and clang version could also be useful (especially gcc5+ and clang 3.8+) |
litmus |
LGTM .... grrr, auto-correct! |
Signed-off-by: Johannes Meyer <[email protected]>
…merge arrays Signed-off-by: Johannes Meyer <[email protected]>
Signed-off-by: Johannes Meyer <[email protected]>
404b77b
to
1f7354b
Compare
Done. Both gcc 5.4 builds currently fail consistently because of a check error in dev_test. The method_test occasionally stalls for some jobs and Travis aborts after 10 minutes. Could be related to the containerized build environment. |
Excellent ! That could be useful for the xenial (gcc5 default ) / kinetic release (?) |
All other branches require a pull request to be created to trigger Travis. This way we avoid duplicate builds. Signed-off-by: Johannes Meyer <[email protected]>
…reenabled CORBA tests This commit partially reverts f15e4e8. Signed-off-by: Johannes Meyer <[email protected]>
Unfortunately the containerized build infrastructure has been deprecated again in the meantime. We can still apply most of the changes in this PR and switch to xenial (#279), which is now supported by the fully virtualized infrastructure. |
Signed-off-by: Francisco Almeida <[email protected]>
f7b214f
to
f6b853c
Compare
… an extension thereafter
…filter Signed-off-by: Francisco Almeida <[email protected]>
…referenced element as a temporary) Signed-off-by: Francisco Almeida <[email protected]>
CORBA::Exception does not extend std::exception and is usually unknown to the Boost Test Framework. Register an exception translator to show the name of the exception and then rethrow a copy (https://www.boost.org/doc/libs/1_64_0/libs/test/doc/html/boost/execution_monitor.html#idp57106832-bb). Signed-off-by: Johannes Meyer <[email protected]>
We could try to enable ccache for Travis builds to eventually reduce the build times. If I understood correctly there is one cache per branch and pull request builds use the cache of the default branch. Unfortunately some unit tests are still unreliable on Travis in a virtualized environment because they depend on more or less accurate timing or check timeouts. Those test cases could be disabled for CI by checking the Previous related issues:
The build matrix with 6 or more jobs makes it more likely that this will happen. |
What about using https://github.com/ros-industrial/industrial_ci ? |
What would be the added value of industrial_ci? As far as I know it compiles the package and runs the unit test in a docker container that has a proper ROS environment. Being able to test on newer platforms, like Ubuntu Bionic, with newer Boost versions would definitely be a plus. On the other hand RTT is not a ROS package (e.g. Is there another advantage of industrial_ci that I am not aware of? I suggest to leave that for a later PR. One of the things we wanted to try here is adding macOS to the build matrix, which would not be possible with docker, I guess. |
One C++03 build is enough to test pre-C++11 support. We will also enable ccache to check if it breaks anything.
Just very simple to setup in all the "standard" environnements (aka distribs), from my ROS user point of view of course. |
Signed-off-by: Francisco Almeida <[email protected]>
…NO_EMIT_CORBA_IOR is set This is expected to fix a failure on Travis CI if no nameserver is available, especially on macOS. Signed-off-by: Johannes Meyer <[email protected]>
700dc2c
to
07839e4
Compare
07839e4
to
04c0d90
Compare
Turns out the the
(https://travis-ci.org/orocos-toolchain/rtt/jobs/529291825) and ultimately both processes segfault. I could reproduce this locally with a macOS 10.13 system. Surprisingly, if |
Example build: https://travis-ci.org/orocos-toolchain/rtt/builds/189295270
Travis supports containerized builds since 2 years, which improve build times. With the apt add-on it is also possible to install system dependencies without the need for sudo.(see #195 (comment)).I also added a build matrix to test clang and gcc builds with and without c++11 enabled. We might also include Mac OS X here.
We are already running integration tests for the toolchain for the orocos_toolchain repository, but without unit tests: orocos-toolchain/orocos_toolchain#15 (only log4cpp, rtt and ocl)