From 07ee4adf9026a82f56cda260a21e062ad9d3fac9 Mon Sep 17 00:00:00 2001 From: Carlos Mastalli Date: Sat, 9 Dec 2023 11:56:01 +0000 Subject: [PATCH] [ci] Merging ROS 1 and 2 jobs in a single yaml file --- .../workflows/{ros2-ci.yaml => ros-ci.yaml} | 8 ++-- .github/workflows/ros1-ci.yaml | 40 ------------------- 2 files changed, 3 insertions(+), 45 deletions(-) rename .github/workflows/{ros2-ci.yaml => ros-ci.yaml} (84%) delete mode 100644 .github/workflows/ros1-ci.yaml diff --git a/.github/workflows/ros2-ci.yaml b/.github/workflows/ros-ci.yaml similarity index 84% rename from .github/workflows/ros2-ci.yaml rename to .github/workflows/ros-ci.yaml index 712e9e3348..ec0ed63549 100644 --- a/.github/workflows/ros2-ci.yaml +++ b/.github/workflows/ros-ci.yaml @@ -4,14 +4,16 @@ name: ROS on: [push, pull_request] jobs: - CI: + crocoddyl-ros: strategy: fail-fast: false matrix: env: + - {name: "(noetic, Release)", ROS_DISTRO: noetic, BUILDER: catkin_tools} - {name: "(humble, Release)", ROS_DISTRO: humble} - {name: "(rolling, Release)", ROS_DISTRO: rolling} - {name: "(iron, Release)", ROS_DISTRO: iron} + # - {name: "(noetic, clang, multi-threading, Release)", ROS_DISTRO: noetic, BUILDER: catkin_tools, ADDITIONAL_DEBS: "clang libomp-dev", CC: clang, CXX: clang++, CMAKE_ARGS: "-DBUILD_WITH_MULTITHREADS=ON -DBUILD_WITH_NTHREADS=2"} # - {name: "(humble, clang, multi-threading, Release)", ROS_DISTRO: humble, ADDITIONAL_DEBS: "clang libomp-dev", CC: clang, CXX: clang++, CMAKE_ARGS: "-DBUILD_WITH_MULTITHREADS=ON -DBUILD_WITH_NTHREADS=2"} # - {name: "(rolling, clang, multi-threading, Release)", ROS_DISTRO: rolling, ADDITIONAL_DEBS: "clang libomp-dev", CC: clang, CXX: clang++, CMAKE_ARGS: "-DBUILD_WITH_MULTITHREADS=ON -DBUILD_WITH_NTHREADS=2"} # - {name: "(iron, clang, multi-threading, Release)", ROS_DISTRO: iron, ADDITIONAL_DEBS: "clang libomp-dev", CC: clang, CXX: clang++, CMAKE_ARGS: "-DBUILD_WITH_MULTITHREADS=ON -DBUILD_WITH_NTHREADS=2"} @@ -22,10 +24,6 @@ jobs: CCACHE_DIR: /github/home/.ccache # Enable ccache UPSTREAM_WORKSPACE: dependencies.rosinstall # to build example-robot-data from source as it's not released via the ROS buildfarm CTEST_OUTPUT_ON_FAILURE: 1 - BUILDER: colcon - # This by-passes issues on importing example_robot_data module when running examples and unit tests. - # It seems target_ws is unable to properly overlay upstream_ws. - AFTER_SETUP_UPSTREAM_WORKSPACE: 'pip install example-robot-data' runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/ros1-ci.yaml b/.github/workflows/ros1-ci.yaml deleted file mode 100644 index b3dd96eef2..0000000000 --- a/.github/workflows/ros1-ci.yaml +++ /dev/null @@ -1,40 +0,0 @@ -name: ROS - -# This determines when this workflow is run -on: [push, pull_request] # on all pushes and PRs - -jobs: - CI: - strategy: - fail-fast: false - matrix: - env: - - {name: "(noetic, Release)", ROS_DISTRO: noetic} - # - {name: "(noetic, clang, multi-threading, Release)", ROS_DISTRO: noetic, ADDITIONAL_DEBS: "clang libomp-dev", CC: clang, CXX: clang++, CMAKE_ARGS: "-DBUILD_WITH_MULTITHREADS=ON -DBUILD_WITH_NTHREADS=2"} - name: ${{ matrix.env.name }} - env: - CCACHE_DIR: /github/home/.ccache # Enable ccache - UPSTREAM_WORKSPACE: dependencies.rosinstall # to build example-robot-data from source as it's not released via the ROS buildfarm - CTEST_OUTPUT_ON_FAILURE: 1 - # The following is a work-around for ROS tooling in conjunction with jrl-cmakemodules: - # - catkin_make_isolated has issues with Industrial-CI right now - # - colcon cannot find example-robot-data's python bindings due to ROS1 workspace integration hooks - # - catkin_tools correctly finds example-robot-data in the upstream_ws, but does not execute the 'run_tests' target - # as catkin-tools performs tests as '--catkin-make-args' instead of '--make-args' as colcon and catkin_make_isolated - # The work-around is thus to use catkin_tools for building and sourcing, and to manually specify execution of the test - # target after completion of the regular test target. The output of this step does affect the output of the CI process. - # Note, this does not affect projects that do not have pure CMake projects in their upstream_ws. - BUILDER: catkin_tools - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - with: - submodules: recursive - # This step will fetch/store the directory used by ccache before/after the ci run - - uses: actions/cache@v3 - with: - path: ${{ env.CCACHE_DIR }} - key: ccache-${{ matrix.env.ROS_DISTRO }}-${{ matrix.env.ROS_REPO }} - # Run industrial_ci - - uses: 'ros-industrial/industrial_ci@master' - env: ${{ matrix.env }}