Closed schornakj closed 4 years ago
I've made some changes which I will push up once I get tests running through CI again:
rct_common
package, which now contains CMake macros and the GTest external package.RCT_BUILD_TESTS=True
will build the tests, and setting RCT_RUN_TESTS=True
will cause them to be run using make test
after they're built.CI currently fails with the error below, which I think is because the environment used in the Github Action doesn't have git
installed.
Errors << rct_common:cmake /root/target_ws/logs/rct_common/build.cmake.000.log
CMake Error at /usr/share/cmake-3.5/Modules/ExternalProject.cmake:1757 (message):
error: could not find git for clone of GTest
That seems odd. Doesn't the Docker use git to clone the repository it's building as well as packages from .rosinstall files?
You can specify that additional packages be installed before running the build using the ADDITIONAL_DEBS
environment variable with industrial_ci
. Maybe try that with git
?
You're right, I didn't understand it quite correctly and git is already installed at the top level.
e: I think that the Docker container set up by industrial_ci doesn't have git installed. The source repositories are cloned before the container is initialized and then copied in afterwards.
@marip8 I rebased onto the latest master branch and fixed the issue with linking to GTest on the xenial job.
I think that the rct_optimizations
tests are being, with two caveats:
RCT_RUN_TESTS=True
makes the tests run both when building and during the run_tests
step, which makes the CI process take longer.run_tests
step doesn't appear to report that the rct_optimizations
tests ran and succeeded.rct_optimizations
doesn't directly link against Eigen (which is instead brought in by Ceres), so I'll address your comment about the Eigen target in a separate (and imminent!) PR for the other packages.
The first step at enabling #35. The work I had done previously converted the RCT packages to be ROS2 packages via Ament, which isn't an ideal strategy for us to use here, so this is a fresh take on the task.
rct_optimizations
.rct_optimizations/cmake/rct_macros.cmake
) to streamline package configuration and test setup. The idea is that the other RCT packages will be able to use these too. These macros are lightly modified from the ones used in Tesseract.rct_optimizations/CMakeLists.txt
. It now provides its libraries through therct::rct_optimizations
target.test
directory, which is added as a subdirectory if theRCT_ENABLE_RUN_TESTING
flag isTrue
.rct_image_tools
,rct_ros_tools
, andrct_examples
find and link againstrct_optimizations
to accommodate the fact that it is no longer a ROS package.TODOs:
RCT_ENABLE_RUN_TESTING
to.github_actions.yml
?