Skip to content

Update build.yml

Update build.yml #4

Workflow file for this run

name: Build ROS2 Packages for Raspberry Pi 3
on:
push:
branches:
- main # Trigger the workflow on push events to the main branch.
jobs:
build:
runs-on: ubuntu-22.04 # Specify the Ubuntu version here.
steps:
- name: Setup Workspace
run: |
mkdir -p ros_ws/src # Create a workspace and src directory
- name: Check out repository
uses: actions/checkout@v4
with:
path: ros_ws/src # Checkout the repository into the src directory
- name: Set up ROS environment
run: |
sudo apt update
sudo apt install -y curl gnupg lsb-release
sudo curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
sudo apt update
sudo apt install -y python3-colcon-common-extensions python3-rosdep python3-vcstool
- name: Install cross-compilation tools
run: |
sudo apt-get update && sudo apt-get install -y crossbuild-essential-armhf g++-arm-linux-gnueabihf gcc-arm-linux-gnueabihf
# Install any other dependencies or cross-compilation tools you might need.
- name: Initialize rosdep
run: |
sudo rosdep init
rosdep update
- name: Install dependencies
run: |
rosdep install --from-paths ros_ws/src --ignore-src -r -y --rosdistro humble
# Replace 'humble' with your ROS 2 distro if different.
- name: Build the ROS2 workspace
run: |
cd ros_ws
colcon build --symlink_install
# Ensure the toolchain file is correctly pointing to your ARM toolchain. --cmake-args -DCMAKE_TOOLCHAIN_FILE=path/to/your/toolchainfile.cmake
- name: Archive the build artifacts
uses: actions/upload-artifact@v4
with:
name: ros2-workspace-artifact
path: ros_ws