Skip to content
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

Use reusable workflow for CI #45

Merged
merged 1 commit into from
Oct 26, 2024
Merged

Conversation

Cakem1x
Copy link
Member

@Cakem1x Cakem1x commented Oct 4, 2024

This PR changes mesh_tools to use a central reusable workflow file.
This change eases maintenance for our CI workflows, since multiple repos can now use the same workflow (before, we would need to maintain duplicated workflow files).

@Cakem1x Cakem1x self-assigned this Oct 4, 2024
@Cakem1x Cakem1x requested review from mklpiening and amock October 4, 2024 13:18
@Cakem1x Cakem1x changed the title use central reusable workflow for CI Use reusable workflow for CI Oct 4, 2024
@Cakem1x Cakem1x marked this pull request as ready for review October 4, 2024 13:18
@Cakem1x
Copy link
Member Author

Cakem1x commented Oct 4, 2024

Hm, for some reason, the build fails when specifying the pkgs to build explicitly:
Failure:
bash -c,source /opt/ros/humble/setup.sh && colcon build --packages-up-to hdf5_map_io label_manager mesh_msgs mesh_msgs_conversions mesh_msgs_hdf5 mesh_msgs_transform mesh_tools rviz_mesh_tools_plugins --event-handlers=console_cohesion+ --symlink-install:

  CMake Error at /__w/mesh_tools/mesh_tools/ros_ws/install/lvr2/lib/cmake/lvr2/LVR2Config.cmake:73 (find_package):
    By not providing "FindVTK.cmake" in CMAKE_MODULE_PATH this project has
    asked CMake to find a package configuration file provided by "VTK", but
    CMake did not find one.
  
    Could not find a package configuration file provided by "VTK" with any of
    the following names:
  
      VTKConfig.cmake
      vtk-config.cmake
  
    Add the installation prefix of "VTK" to CMAKE_PREFIX_PATH or set "VTK_DIR"
    to a directory containing one of the above files.  If "VTK" provides a
    separate development package or SDK, be sure it has been installed.
  Call Stack (most recent call first):
    CMakeLists.txt:22 (find_package)
  
  
  -- Configuring incomplete, errors occurred!
  See also "/__w/mesh_tools/mesh_tools/ros_ws/build/hdf5_map_io/CMakeFiles/CMakeOutput.log".
  ---
  --- stderr: hdf5_map_io
  CMake Error at /__w/mesh_tools/mesh_tools/ros_ws/install/lvr2/lib/cmake/lvr2/LVR2Config.cmake:73 (find_package):
    By not providing "FindVTK.cmake" in CMAKE_MODULE_PATH this project has
    asked CMake to find a package configuration file provided by "VTK", but
    CMake did not find one.
  
    Could not find a package configuration file provided by "VTK" with any of
    the following names:
  
      VTKConfig.cmake
      vtk-config.cmake
  
    Add the installation prefix of "VTK" to CMAKE_PREFIX_PATH or set "VTK_DIR"
    to a directory containing one of the above files.  If "VTK" provides a
    separate development package or SDK, be sure it has been installed.
  Call Stack (most recent call first):
    CMakeLists.txt:22 (find_package)
  
  
  ---
  Failed   <<< hdf5_map_io [0.95s, exited with code 1]

success (old CI):
bash -c,source /opt/ros/humble/setup.sh && colcon build --event-handlers=console_cohesion+ --symlink-install, which builds hdf5_map_io successfully (among other pkgs).

@amock any idea why? I've found this commit that talks about VTK deps in lvr2.

@amock
Copy link
Collaborator

amock commented Oct 10, 2024

About the VTK thing: As far as I know, VTK is required only for the lvr2_viewer target, which is currently not even compiled by default. However, it is written in the "LVR2Config.cmake.in". So fixing this file would probably solve this issue.

I won't be able to get to it for about 2-3 weeks. But I can accept PRs :)

Edited: If VTK is really nowhere used in the lvr2 core library, it probably also can removed from the package.xml

@Cakem1x
Copy link
Member Author

Cakem1x commented Oct 16, 2024

Hmm, the point where the build breaks is when a package that depends on lvr2 is being built. Then, the lvr2's LVR2Config.cmake (from within the install dir, ros_ws/install/lvr2/lib/cmake/lvr2/LVR2Config.cmake:73) fails, since it includes a find_package(VTK REQUIRED).
I think this comes from lvr2's LVR2Config.cmake.in:49 (as you wrote).

I suppose we should either depend on VTK via package.xml (if a rosdep key exists for libvtk), or make this dependency truly optional (maybe it is sufficient to remove the REQUIRED keyword).

@Cakem1x Cakem1x mentioned this pull request Oct 16, 2024
@Cakem1x
Copy link
Member Author

Cakem1x commented Oct 25, 2024

@mklpiening @amock
CI is fixed via the PR mentioned last week. Can we merge this?

@amock
Copy link
Collaborator

amock commented Oct 25, 2024

@mklpiening @amock CI is fixed via the PR mentioned last week. Can we merge this?

Looks good to me

@Cakem1x Cakem1x merged commit 9e3e8cb into humble Oct 26, 2024
1 check passed
@Cakem1x Cakem1x deleted the feature/use-reusable-workflow branch October 26, 2024 09:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants