Skip to content

FSF-7053 | FSF-7052 | FSF-7573 | Slam #952

FSF-7053 | FSF-7052 | FSF-7573 | Slam

FSF-7053 | FSF-7052 | FSF-7573 | Slam #952

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
# - 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