Skip to content

feat: added slam action #960

feat: added slam action

feat: added slam action #960

Workflow file for this run

name: Testing and Building
on:
push:
branches:
- main
pull_request:
types: [opened, synchronize, reopened]
jobs:
build: # Sonarcloud analysis
name: sonarcloud-build
runs-on: ubuntu-latest
container:
image: ros:humble-ros-base-jammy
defaults:
run:
shell: bash
env:
SONAR_SCANNER_VERSION: 6.0.0.4432
SONAR_SERVER_URL: "https://sonarcloud.io"
BUILD_WRAPPER_OUT_DIR: build_wrapper_output_directory # Directory where build-wrapper output will be placed
SONAR_SCANNER_DOWNLOAD_URL: https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-6.0.0.4432-linux.zip
steps:
- uses: actions/checkout@v4
with:
submodules: 'true'
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Install dependencies
run: |
echo "source /opt/ros/$ROS_DISTRO/setup.bash" >> /home/$USERNAME/.bashrc
./dependencies_install.sh
sudo apt install curl -y
sudo apt install unzip -y
sudo apt install bear -y
- name: Download and set up sonar-scanner
run: |
curl ${{ env.SONAR_SCANNER_DOWNLOAD_URL }} --output sonar-scanner-cli-${{env.SONAR_SCANNER_VERSION}}-linux.zip
unzip ./sonar-scanner-cli-${{env.SONAR_SCANNER_VERSION}}-linux.zip
echo "./sonar-scanner-${{env.SONAR_SCANNER_VERSION}}-linux/bin" >> $GITHUB_PATH
- name: Compile with bear
run: |
source /opt/ros/$ROS_DISTRO/setup.bash
bear -- colcon build --packages-up-to common_lib perception ekf_state_est control planning inspection mocker_node evaluator
- name: Run sonar-scanner
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: |
sonar-scanner --define sonar.cfamily.compile-commands="./compile_commands.json"
perception:
runs-on: ubuntu-latest
container:
image: ros:humble-ros-base-jammy
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
with:
submodules: 'true'
- name: Install dependencies
run: |
echo "source /opt/ros/$ROS_DISTRO/setup.bash" >> /home/$USERNAME/.bashrc
./dependencies_install.sh
- name: Rosdep
run: |
source /opt/ros/$ROS_DISTRO/setup.bash
rosdep update
rosdep install --from-paths src --ignore-src -r -y
- name: Build Dependencies
run: |
source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --packages-select custom_interfaces eufs_msgs fs_msgs common_lib pacsim
- name: Build and Test Perception
run: |
source install/setup.bash
colcon build --packages-select perception
colcon test --packages-select perception
colcon test-result --all --verbose
ekf_state_est:
runs-on: ubuntu-latest
container:
image: ros:humble-ros-base-jammy
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
with:
submodules: 'true'
- name: Install dependencies
run: |
echo "source /opt/ros/$ROS_DISTRO/setup.bash" >> /home/$USERNAME/.bashrc
./dependencies_install.sh
- name: Rosdep
run: |
source /opt/ros/$ROS_DISTRO/setup.bash
rosdep update
rosdep install --from-paths src --ignore-src -r -y
- name: Build Dependencies
run: |
source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --packages-select custom_interfaces eufs_msgs fs_msgs common_lib pacsim motion_lib perception_sensor_lib
- name: Build and Test EKF State Estimation
run: |
source install/setup.bash
colcon build --packages-select ekf_state_est
colcon test --packages-select ekf_state_est
colcon test-result --all --verbose
slam:
runs-on: ubuntu-latest
container:
image: ros:humble-ros-base-jammy
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
with:
submodules: 'true'
- name: Install dependencies
run: |
echo "source /opt/ros/$ROS_DISTRO/setup.bash" >> /home/$USERNAME/.bashrc
./dependencies_install.sh
./slam/dependencies_install.sh
- name: Rosdep
run: |
source /opt/ros/$ROS_DISTRO/setup.bash
rosdep update
rosdep install --from-paths src --ignore-src -r -y
- name: Build Dependencies
run: |
source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --packages-select custom_interfaces eufs_msgs fs_msgs common_lib pacsim motion_lib perception_sensor_lib
- name: Build and Test SLAM
run: |
source install/setup.bash
colcon build --packages-select slam
colcon test --packages-select slam
colcon test-result --all --verbose
velocity_estimation:
runs-on: ubuntu-latest
container:
image: ros:humble-ros-base-jammy
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
with:
submodules: 'true'
- name: Install dependencies
run: |
echo "source /opt/ros/$ROS_DISTRO/setup.bash" >> /home/$USERNAME/.bashrc
./dependencies_install.sh
- name: Rosdep
run: |
source /opt/ros/$ROS_DISTRO/setup.bash
rosdep update
rosdep install --from-paths src --ignore-src -r -y
- name: Build Dependencies
run: |
source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --packages-select custom_interfaces eufs_msgs fs_msgs common_lib pacsim motion_lib
- name: Build and Test Velocity Estimation
run: |
source install/setup.bash
colcon build --packages-select velocity_estimation
colcon test --packages-select velocity_estimation
colcon test-result --all --verbose
control:
runs-on: ubuntu-latest
container:
image: ros:humble-ros-base-jammy
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
with:
submodules: 'true'
- name: Install dependencies
run: |
echo "source /opt/ros/$ROS_DISTRO/setup.bash" >> /home/$USERNAME/.bashrc
./dependencies_install.sh
- name: Rosdep
run: |
source /opt/ros/$ROS_DISTRO/setup.bash
rosdep update
rosdep install --from-paths src --ignore-src -r -y
- name: Build Dependencies
run: |
source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --packages-select custom_interfaces eufs_msgs fs_msgs common_lib pacsim motion_lib
- name: Build and Test Control
run: |
source install/setup.bash
colcon build --packages-select control
colcon test --packages-select control
colcon test-result --all --verbose
planning:
runs-on: ubuntu-latest
container:
image: ros:humble-ros-base-jammy
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
with:
submodules: 'true'
- name: Install dependencies
run: |
echo "source /opt/ros/$ROS_DISTRO/setup.bash" >> /home/$USERNAME/.bashrc
./dependencies_install.sh
- name: Rosdep
run: |
source /opt/ros/$ROS_DISTRO/setup.bash
rosdep update
rosdep install --from-paths src --ignore-src -r -y
- name: Build Dependencies
run: |
source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --packages-select custom_interfaces eufs_msgs fs_msgs common_lib pacsim
- name: Build and Test Planning
run: |
source install/setup.bash
colcon build --packages-select planning
colcon test --packages-select planning
colcon test-result --all --verbose
inspection:
runs-on: ubuntu-latest
container:
image: ros:humble-ros-base-jammy
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
with:
submodules: 'true'
- name: Install dependencies
run: |
echo "source /opt/ros/$ROS_DISTRO/setup.bash" >> /home/$USERNAME/.bashrc
./dependencies_install.sh
- name: Rosdep
run: |
source /opt/ros/$ROS_DISTRO/setup.bash
rosdep update
rosdep install --from-paths src --ignore-src -r -y
- name: Build Dependencies
run: |
source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --packages-select custom_interfaces eufs_msgs fs_msgs common_lib pacsim
- name: Build and Test Inspection Node
run: |
source install/setup.bash
colcon build --packages-select inspection
colcon test --packages-select inspection
colcon test-result --all --verbose
mocker_node:
runs-on: ubuntu-latest
container:
image: ros:humble-ros-base-jammy
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
with:
submodules: 'true'
- name: Install dependencies
run: |
echo "source /opt/ros/$ROS_DISTRO/setup.bash" >> /home/$USERNAME/.bashrc
./dependencies_install.sh
- name: Rosdep
run: |
source /opt/ros/$ROS_DISTRO/setup.bash
rosdep update
rosdep install --from-paths src --ignore-src -r -y
- name: Build Dependencies
run: |
source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --packages-select custom_interfaces eufs_msgs fs_msgs common_lib pacsim
- name: Build and Test Mocker Node
run: |
source install/setup.bash
colcon build --packages-select mocker_node
colcon test --packages-select mocker_node
colcon test-result --all --verbose
evaluator_node:
runs-on: ubuntu-latest
container:
image: ros:humble-ros-base-jammy
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
with:
submodules: 'true'
- name: Install dependencies
run: |
echo "source /opt/ros/$ROS_DISTRO/setup.bash" >> /home/$USERNAME/.bashrc
./dependencies_install.sh
- name: Rosdep
run: |
source /opt/ros/$ROS_DISTRO/setup.bash
rosdep update
rosdep install --from-paths src --ignore-src -r -y
- name: Build Dependencies
run: |
source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --packages-select custom_interfaces eufs_msgs fs_msgs common_lib pacsim
- name: Build and Test Evaluator Node
run: |
source install/setup.bash
colcon build --packages-select evaluator
colcon test --packages-select evaluator --event-handler=console_direct+
colcon test-result --all --verbose