Skip to content

Commit

Permalink
Testing CI
Browse files Browse the repository at this point in the history
  • Loading branch information
cmastalli committed Jul 31, 2023
1 parent 8e7d8b2 commit 1c34a86
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 42 deletions.
51 changes: 9 additions & 42 deletions .github/workflows/ros_ci.yaml
Original file line number Diff line number Diff line change
@@ -1,53 +1,20 @@
name: ROS-CI
name: ROS-CI-2

# This determines when this workflow is run
on: [push, pull_request] # on all pushes and PRs
on: [push, pull_request]

jobs:
CI:
strategy:
matrix:
env:
# ROS noetic
- {name: "CI (noetic, g++, Release)", ROS_DISTRO: noetic}
- {name: "CI (noetic, clang, Release)", ROS_DISTRO: noetic, ADDITIONAL_DEBS: clang, CC: clang, CXX: clang++}
- {name: "CI (noetic, clang, Release, multi-threading)", ROS_DISTRO: noetic, ADDITIONAL_DEBS: "clang libomp-dev", CC: clang, CXX: clang++, CMAKE_ARGS: "-DBUILD_WITH_MULTITHREADS=ON -DBUILD_WITH_NTHREADS=2"}
- {name: "CI (noetic, clang, Debug)", ROS_DISTRO: noetic, ADDITIONAL_DEBS: clang, CC: clang, CXX: clang++, CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Debug"}
# ROS humble
- {name: "CI (humble, g++, Release)", ROS_DISTRO: humble}
- {name: "CI (humble, clang, Release)", ROS_DISTRO: humble, ADDITIONAL_DEBS: clang, CC: clang, CXX: clang++}
- {name: "CI (humble, clang, Release, multi-threading)", ROS_DISTRO: humble, ADDITIONAL_DEBS: "clang libomp-dev", CC: clang, CXX: clang++, CMAKE_ARGS: "-DBUILD_WITH_MULTITHREADS=ON -DBUILD_WITH_NTHREADS=2"}
- {name: "CI (humble, clang, Debug)", ROS_DISTRO: humble, ADDITIONAL_DEBS: clang, CC: clang, CXX: clang++, CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Debug"}
# Format check
#- {name: "Format check", ROS_DISTRO: noetic, CLANG_FORMAT_CHECK: file, CLANG_FORMAT_VERSION: "6.0", BEFORE_RUN_CLANG_FORMAT_CHECK: "wget https://raw.githubusercontent.com/Gepetto/linters/master/.clang-format-6.0 -O /tmp/clang_format_check/crocoddyl/.clang-format", ADDITIONAL_DEBS: wget}
name: ${{ matrix.env.name }}
# - {ROS_DISTRO: noetic, PRERELEASE: true}
- {ROS_DISTRO: humble}
# - {ROS_DISTRO: rolling}
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
AFTER_RUN_TARGET_TEST: 'source /root/target_ws/install/setup.bash && cd /root/target_ws/build/crocoddyl && env && make test'
UPSTREAM_WORKSPACE: dependencies.rosinstall
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
# This step will fetch/store the directory used by ccache before/after the ci run
- uses: actions/cache@v2
with:
path: ${{ env.CCACHE_DIR }}
key: ccache-${{ matrix.env.ROS_DISTRO }}-${{ matrix.env.ROS_REPO }}
# Run industrial_ci - use fork until awaits https://github.com/ros-industrial/industrial_ci/issues/767 is resolved
- uses: 'wxmerkt/industrial_ci@topic/clang-format-check-in-deterministic-location'
env: ${{ matrix.env }}
# # Run industrial_ci
# - uses: 'ros-industrial/industrial_ci@master'
# env: ${{ matrix.env }}
- uses: actions/checkout@v3
- uses: 'ros-industrial/industrial_ci@master'
env: ${{ matrix.env }}
47 changes: 47 additions & 0 deletions .github/workflows/ros_ci_clang.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: ROS-CI-2

# This determines when this workflow is run
on: [push, pull_request] # on all pushes and PRs

jobs:
CI:
strategy:
matrix:
env:
- {name: "CI (noetic, g++, Release)", ROS_DISTRO: noetic}
- {name: "CI (noetic, clang, Release)", ROS_DISTRO: noetic, ADDITIONAL_DEBS: clang, CC: clang, CXX: clang++}
- {name: "CI (noetic, clang, Release, multi-threading)", ROS_DISTRO: noetic, ADDITIONAL_DEBS: "clang libomp-dev", CC: clang, CXX: clang++, CMAKE_ARGS: "-DBUILD_WITH_MULTITHREADS=ON -DBUILD_WITH_NTHREADS=2"}
- {name: "CI (noetic, clang, Debug)", ROS_DISTRO: noetic, ADDITIONAL_DEBS: clang, CC: clang, CXX: clang++, CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Debug"}
# Format check
#- {name: "Format check", ROS_DISTRO: noetic, CLANG_FORMAT_CHECK: file, CLANG_FORMAT_VERSION: "6.0", BEFORE_RUN_CLANG_FORMAT_CHECK: "wget https://raw.githubusercontent.com/Gepetto/linters/master/.clang-format-6.0 -O /tmp/clang_format_check/crocoddyl/.clang-format", ADDITIONAL_DEBS: wget}
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
AFTER_RUN_TARGET_TEST: 'source /root/target_ws/install/setup.bash && cd /root/target_ws/build/crocoddyl && env && make test'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
# This step will fetch/store the directory used by ccache before/after the ci run
- uses: actions/cache@v2
with:
path: ${{ env.CCACHE_DIR }}
key: ccache-${{ matrix.env.ROS_DISTRO }}-${{ matrix.env.ROS_REPO }}
# Run industrial_ci - use fork until awaits https://github.com/ros-industrial/industrial_ci/issues/767 is resolved
- uses: 'wxmerkt/industrial_ci@topic/clang-format-check-in-deterministic-location'
env: ${{ matrix.env }}
# # Run industrial_ci
# - uses: 'ros-industrial/industrial_ci@master'
# env: ${{ matrix.env }}

0 comments on commit 1c34a86

Please sign in to comment.