Skip to content

Merge pull request #20 from ROBOTIS-GIT/feature-rosdep-ci #144

Merge pull request #20 from ROBOTIS-GIT/feature-rosdep-ci

Merge pull request #20 from ROBOTIS-GIT/feature-rosdep-ci #144

Workflow file for this run

# The name of the workflow
name: CI
# Specifies the events that trigger the workflow
on:
push:
branches: [ jazzy, main ]
pull_request:
branches: [ jazzy, main ]
# Defines a set of jobs to be run as part of the workflow
jobs:
# The name of the job
ROS_CI:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
ros_distribution:
# - humble
- jazzy
- rolling
include:
# ROS 2 Humble Hawksbill
# - docker_image: ubuntu:jammy
# ros_distribution: humble
# ros_version: 2
# ROS 2 Jazzy Jalisco
- docker_image: ubuntu:noble
ros_distribution: jazzy
ros_version: 2
# ROS 2 Rolling Ridley
- docker_image: ubuntu:noble
ros_distribution: rolling
ros_version: 2
container:
image: ${{ matrix.docker_image }}
steps:
- name: Setup workspace
run: mkdir -p ros_ws/src
- name: Checkout code
uses: actions/checkout@v4
with:
path: ros_ws/src
- name: Setup ROS environment
uses: ros-tooling/setup-ros@v0.7
with:
required-ros-distributions: ${{ matrix.ros_distribution }}
- name: Check and Install ROS dependencies
shell: bash
run: |
set -e
source /opt/ros/${{ matrix.ros_distribution }}/setup.bash
echo "--- Updating rosdep definitions ---"
rosdep update
echo "--- Installing system dependencies for ROS 2 ${{ matrix.ros_distribution }} ---"
rosdep install --from-paths ros_ws/src --ignore-src -y -r --rosdistro ${{ matrix.ros_distribution }}
echo "--- Performing rosdep check for ROS 2 ${{ matrix.ros_distribution }} ---"
if rosdep check --from-paths ros_ws/src --ignore-src --rosdistro ${{ matrix.ros_distribution }}; then
echo "--- rosdep check passed ---"
else
echo "--- rosdep check failed: Missing system dependencies or unresolvable keys. ---"
exit 1
fi
- name: Build and Test
uses: ros-tooling/action-ros-ci@v0.3
with:
target-ros2-distro: ${{ matrix.ros_distribution }}
vcs-repo-file-url: ""
package-name: |
physical_ai_server
physical_ai_interfaces